Git使用笔记

这是我自己的 git 进阶使用指南,已经脱离了初级范畴。如果想知道最基本的用法请参照一篇非常轻松+直观的说明——git - 简易指南

该文章的前提是我有两台电脑(Mac+Gentoo),另外还有两天VPS(Debian+Gentoo)。所以每天有很多的备份,传输任务。基本上可以看作是一个微型的合作开发模型。

#分支

代码开发过程中使用master分支还是比较危险和麻烦的。本着风险最小化的原则,对于需要改动的项目,使用:

git checkout -b new-branch #创建新分支
git checkout new-branch     #切换到新分支
git branch -d new-branch    #删除新建的分支
  • 分支是对其他机器不可见的,除非你 push 到了远端仓库。

#更新和合并

有个分支,就要有合并!这一点就用到了 git 的更新和合并功能。

  • 从远端仓库获得更新

    git pull
    
  • 合并其他分支到到你当前的分支

    git merge <branch> #git pull 其实就包含了 git merge
    

    上面的两种情况下,git 多会尝试自动合并所有改动到当前分支。但是有时候发生冲突的时候就需要手动修改然后再合并了。

    git diff <source_branch> <target_branch>
    git add <filename>
    git commit -m ‘更新内容’
    git merge
    

#替换本地改动

  • 码农难免出错(自然,这是不可能的),你可以使用如下命令替换本地改动:

    git checkout -- <filename>
    
  • 错的一发不可收拾了,想放弃所有的本地改动 - -!!

    git fetch origin                      #从服务器上获取最新版本
    git reset --hard origin/master        #将你本地主分支指向到它
    

#Tips

  • 彩色的 git 输出

    git config color.ui true
    
  • 显示历史记录时,只显示一行注释信息

    git config format.pretty oneline
    
  • 交互地添加文件至缓存区

    git add -i