Linux Kernel 编译安装

- 阅读剩余部分 -

逛论坛的时候忽然看到有楼在讨论 git fetch / git pull / git reset --hard 的问题,记录一下回复和我自己查阅的内容

  • git fetch 用于在远程仓库更新时(包括他人上传 / 更改了文件或者说开了一个新的分支),拉取更改到本地

  • git pull = git fetch + git merge origin/<branch> 用于当他人在操作者本地当前工作分支上产生了新的commits,如果操作者想将他人的 commits 合并到自己的本地分支时。git 会首先尝试自动合并,如果产生冲突,需要手动解决

  • git reset 在这个地方是处理 当操作者本地与远程仓库合并时产生了很多冲突时,这个时候如果不是必要保留本地文件更改,使用此命令。该命令会强制将所有本地文件与远程仓库版本同步,一般是先使用git fetch ,再运行git reset --hard origin/<master>


也就是说


git fetch git reset --hard origin/<branch>

将会忽略掉本地更改,强制与远程仓库同步, 而


git fetch git merge origin/<branch> # 或者说下句 git pull

将会尝试保有本地更改,采取手动解决冲突的方式

Linux的Screen命令

  • 由于网络或者其他原因,我们与远程主机的链接可能会发生中断,此时对于正在维护或搞东西的人来说是很痛苦的,所以学习一下screen吧~
  • 官方网站:http://www.gnu.org/software/screen/
  • 新建一个screen会话
    scree -S screen-name
  • 离开当前会话(转入后台运行)
    快捷键:Ctrl + A + D
  • 查看保存的所有会话
    screen -ls
  • 恢复到某一个会话
    screen -r [screen-name]
  • 终止会话
    exit / Ctrl + D
  • 屏幕分割
    Ctrl + A + S 水平分割
    Ctrl + A + | 垂直分割
    Ctrl + A 切换当前活动窗口
    Ctrl + A + X 关闭当前活动窗口
    Ctrl + A + Q 关闭非当前活动窗口
  • 具体详细的用法除了参考官方文档,也可以看看这里:Linux-Command