git studyGit使用Git

git使用总结

2016-06-04  本文已影响134人  shawenlx

 前言:本文不过多介绍Git的基本命令,主要记录一些经常遇到的使用场景。

一、Alias命令

alias g="git"
alias gb="git branch"
alias gch="git checkout"
alias gcm="git commit -m"
alias gc="git clone"
alias gamend="git commit --amend -C HEAD"
alias gst="git status"

二、将分支推送到远端

git push origin develop:origin-develop
git push -f develop:origin-develop

三、追加更新到某个之前的 commit

git add 更新修改的文件
git commit --amend -C HEAD 或者 gamend

四、查找相关文件的commit提交

//方法一:
git log 查找文件
git show commit_id
//方法二:
git log --follow filename(文件绝对路径)

五、删除某些 commit

git rebase -i HEAD~5(数字5只是样例, 进入vim编辑模式显示最近5次commit)

执行完命令之后会出来5行,如果你要修改哪个,就把对应的pick改成edit,保存退出。 这时通过git log你可以发现,git的最后一次提交已经变成你选的那个.

  1 pick bfab1a3 message
  2 pick 87c23fd message
  3 pick 731a5be message
  4 pick 9049799 message
  5 pick 67dd0ae message

六、追加修改到之前某个 commit

//如果通过 gst 发现已经有文件被修改,这时候需要把修改暂存起来。
git stash

//接着找到你需要追加修改的那个commit id,如731a5be
git rebase 731a5be~ -i 或者
git rebase -i HEAD~5 //列出最近5个commit

//在vim中把你需要修改的 commit 前面的 pick改成 edit,保存,关闭vim编辑器,这时候会回到终端,再输入:
git stash pop

//将缓存的更新拿出来做修改,再git add .最后git rebase --continue将修改添加到你想添加的commit中。
//注意此时不需要再commit.
git add .
git rebase --continue

七、撤销上一次 git add . 操作

//该命令会 unstage 你上一个 commit 增加的所有文件。
git reset
//如果你只想 unstage 某些文件:
git reset --<file 1> <file 2> ... <file n>

八、查找含有特定关键字的 commit

git log --grep //最基本的用法

//查找一个月以内commit log message里含有 flag_one 或者 flag_two的 commits
git log --grep=flag_one--grep=flag_two --since=1.month 

//查找指定作者,例如多人开发的时候查看队友关于flag关键字的提交
git log --grep=flag --author=Linus

//查找文件里面含有 flag 和 hello 的文件(不局限于同一行)
git grep -l --all-match -e flag -e hello

九、创建debug分支修复bug

//step 1:将目前的工作代码缓存起来
git stash

//step 2:假定需要在dev分支上修复,就从dev创建临时分支issue-xxx:
git checkout dev
git checkout -b issue-xxx

//step 3:修改bug 并添加
git add .

//step 4: 修复完成后,切换到dev分支,并完成合并,最后删除issue-xxx
git checkout dev
git merge --no-ff -m "merged bug fix xxx" issue-xxx
git branch -d issue-xxx

//最后:工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下。
//有两个办法:一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
git stash apply 
git stash drop
//第二种方式是用git stash pop,恢复的同时把stash内容也删了。
git stash pop

//再用git stash list查看,就看不到任何stash内容了
git stash list

最后

上一篇 下一篇

猜你喜欢

热点阅读