程序员人生 网站导航

[翻译]中级Git用户的25个使用技巧(下)

栏目:综合技术时间:2015-01-31 10:39:14
译者:zhanhailiang 日期:2015-01⑵1

原文链接:25 Tips for Intermediate Git Users

存储内容到Stashes, Index和文件系统

10. 暂存区

抛弃暂存区的所有操作:

$ git stash # Do something... $ git stash pop

11. 交互式添加修改到暂存区

$ git add -i staged unstaged path *** Commands *** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help What now>

12. Storing/Retrieving from the File System

略.

查看git日志

13. 查看操作日志

查看最近提交的操作日志:

$ git log -p

只查看最近修改的文件列表:

$ git log --stat

14. 搜索日志

查询指定作者的更新日志:

$ git log --author=Andy

通过搜索提交的注释关键字过滤日志:

$ git log --grep="Something in the message"

查询指定文件的修改日志:

$ git log lib/foo.rb

查看分支feature/132与分支feature/145,其各自与master分支的区分:

$ git log feature/132 feature/145 ^master

也能够查询指定时间段内(该时间格式支持ActiveSupport style)的操作日志:

$ git log --since=2.months.ago --until=1.day.ago

15. 查看指定版本的相干信息

$ git show 12a86bc38 # By revision $ git show v1.0.1 # By tag $ git show feature132 # By branch name $ git show 12a86bc38^ # Parent of a commit $ git show 12a86bc38~2 # Grandparent of a commit $ git show feature132@{yesterday} # Time relative $ git show feature132@{2.hours.ago} # Time relative

16. Selecting a Range

查看本地仓库未推送的修改日志:

$ git log origin/master..new # [old]..[new] - everything you haven't pushed yet

回滚与毛病修复

17. 回滚修改

直接回滚到本地仓库最近的版本:(若你的修改未提交过)

$ git reset HEAD lib/foo.rb

回滚到本地仓库最近的版本:(若你的修改提交过)
如果你要回滚到最后1次提交之前的版本:
$ git commit --amend
如果你要回滚前已提交屡次代码:
$ git checkout feature132
$ git reset --hard HEAD~2

18. 分支操作

master提交了3次修改,现在希望将最近3次修改移动分支experimental,并取消master分支最近3次的修改:

$ git branch experimental # Creates a pointer to the current master state $ git reset --hard master~3 # Moves the master branch pointer back to 3 revisions ago $ git checkout experimental

19. Interactive Rebasing

略.

20. Cleaning Up

略.

其它注意事项

21. 查看上次查询的SHA⑴记录日志

$ git reflog $ git log -g # Same as above, but shows in 'log' format

22. 分支命名

$ # Generate a changelog of Release 132 $ git shortlog release/132 ^release/131 $ # Tag this as v1.0.1 $ git tag v1.0.1 release/132

23. 查询指定文件的各行编辑日志

$ git blame FILE

24. Database Maintenance

略.

25. 重建1个已丢失败的分支

$ git branch experimental SHA1_OF_HASH
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐