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

译者:zhanhailiang 日期:2015-01-21

原文链接: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 [email protected]{yesterday} # Time relative
$ git show [email protected]{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

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

如果你要回滚到最后一次提交之前的版本:

$ git commit --amend

如果你要回滚前已经提交多次代码:

$ git checkout feature132

$ git reset --hard HEAD~2

18. 分支操作

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

$ 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-1记录日志

$ 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. 重建一个已丢失败的分支

$ git branch experimental SHA1_OF_HASH
时间: 2024-10-27 09:57:44

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

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

译者:zhanhailiang 日期:2015-01-17 原文链接:25 Tips for Intermediate Git Users 基本技巧 1. 安装git后,需要配置用户名和邮箱: $ git config --global user.name "Some One" $ git config --global user.email "[email protected]" 2. git是基于指针的 git中的一切都以文件形式存储,举例: 每创建一次提交动作

针对高级用户的 Vim 编辑实用技巧

导读 毫无疑问, Vim 是一个很强大的文本编辑器.它提供了大量的特性,这意味着学习并记住 Vim 的所有功能实际上是不可能的.但是我们至少可以不断学习简单的方法来完成事情,从而随着时间的增长,我们使用编辑器的经验将会变得更好. 这篇文章是 Vim 用户指南系列文章中的一篇: Vim 初学者入门指南 Vim 快捷键速查表 5 个针对有经验用户的 Vim 技巧 3 个针对高级用户的 Vim 编辑器实用技巧 请记住,在这篇文章中我们将讨论的一些 Vim 编辑器技巧是针对高级用户的.注:如果你是第一次

Git如何同时删除多个仓下的同一个分支

每次下载完代码我们都会在本地通过repo start my_local --all建立分支,这样我们下载的代码在每个仓下都有一个名叫my_local的分支,有些时候我们由于需要还会建立其他分支,当我们不再需要这些分支时,可以通过下边命令来同时删除多个仓下的同一分支: repo forall "git branch -D my_local" Git如何同时删除多个仓下的同一个分支

Git 中级用户的25个小贴士

原文链接:25 Tips for Intermediate Git Users 作者:Andy Jeffries 时间:2009年11月1日 更新:这篇文章最初是在 2009年11月 发布到我的博客,它一直没有更新--不过有许多人发现这篇文章很有用,所以我想保持下去.请不要评论说"这些已经不再是中级小贴士了". 我使用 git 大约 18 个月了,以为自己已经比较了解 git 了.但当我们请 GitHub 的 Scott Chacon 来 LVS 公司(博彩/游戏软件开发商)做一些培训

对中级 Linux 用户非常有用的 20 个命令

本文转自http://www.oschina.net/translate/20-advanced-commands-for-middle-level-linux-users,请支持原创,此处只做记录 也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸. 第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户.在这里你将学会如何进行自定义搜索,知道正在进行的进程和停掉进程,如何使用Linux的强势功能和如何在系统内编译C,C++和JA

每个项目单独配置 git 用户

git多账号登陆问题 取消git全局设置 很多同学照着网上的教程,都会对git进行全局设置,例如: git config --global user.name "your_name" git config --global user.email "your_email" 如果你多参与的项目都允许你用同一个用户名和邮箱,这样设置当然没问题,但是,一旦你进入公司,估计是没有自主选择权利的,公司都会配置相应的域账号和邮箱,因此我们首先需要取消git的全局设置 git co

[翻译]用一个用户场景来掌握它们

翻译自一篇博文,原文:One user scenario to rule them all 异步系列 剖析C#中的异步方法 扩展C#中的异步方法 C#中异步方法的性能特点. 用一个用户场景来掌握它们 c#中异步方法的几乎所有重要行为都可以基于一个用户场景进行解释:尽可能简单地将现有的同步代码迁移到异步.你应该能在方法的返回类型前面加上async关键字,在方法名最后加上Async后缀,在方法内部加上一些await关键字,就能得到一个功能完整的异步方法. 这个"简单"场景以许多不同的方式极

[翻译] USING GIT IN XCODE [4] 在XCODE中使用GIT[4]

USING GIT IN XCODE LOOKING AT HISTORY Xcode provides a Versions editor, which has three different perspectives on the git history for a file.  To use the Versions editor, select the file in the Standard editor in Xcode, the switch to the Versions edi

对中级Linux用户有用的20个命令

1. 命令: Find 搜索指定目录下的文件,从开始于父目录,然后搜索子目录. 注意: -name‘选项是搜索大小写敏感.可以使用-iname‘选项,这样在搜索中可以忽略大小写.(*是通配符,可以搜索所有的文件:‘.sh‘你可以使用文件名或者文件名的一部分来制定输出结果) 注意:以上命令查找根目录下和所有文件夹以及加载的设备的子目录下的所有包含‘tar.gz’的文件. ’find’命令的更详细信息请参考35 Find Command Examples in Linux 2. 命令: grep ‘