-->

Neater

Be A Warrior, Not A Worrier

Git Tips

取消一次 git merge,比方说刚才执行了 git merge dev,发现各种崩溃,一大堆 conflict,想取消掉,那么就执行

1
git reset --merge dev 

显示某个作者的提交

1
git log --name-status --author="[The Author's Name]" 

从仓库取出file覆盖当前分支

1
git checkout branch|tag|commit -- file_name

Branch

查看各个分支最后一个提交对象的信息

1
git branch -v

查看已经合并到当前分支的分支

1
git branch --merge

查看未合并到当前分支的分支

1
git branch --no-merge

基于dev新建test分支,并切换

1
git checkout -b test dev

Others

停止追逐现在已经追踪的文件

1
git rm --cached

返回一个简单版的git status,为默认git status来减少噪音。

1
git status -s

显示提交记录的参与者列表。和GitHub的参与者列表相同。

1
git shortlog -sn

Revert

  1. 提交过版本库,但未提交至暂存区的文件(未执行 git add),此类文件的状态为 Changes not staged for commit,撤销方法:

     git checkout .
    
  2. 新建的文件和目录,且从未提交至版本库,此类文件的状态为 Untracked files ,撤销方法如下:

     git clean -fd .
    
  3. 已提交至暂存区的文件,此类文件的状态为 Changes to be committed,执行之后文件将会回到以上的 1 或者 2 状态

     git reset .
    

从暂存区去除文件覆盖工作区

git checkout -- .

读取指定文件合并到当前分支

git checkout screencast -- file1 file2 etc.

与 git add -p 对应

git checkout -p