关于Git你所不知道的一些事

开源
上周五我由于使用了git reset --HARD <commit-id> 而使得我丢掉了我的提交(糟糕透顶),因此,我决定是时候重新学习一下git了。这篇文章讲的不是git基础的一些东西,而是那些你不知道或者只用过一两次的东西。

上周五我由于使用了git reset --HARD <commit-id> 而使得我丢掉了我的提交(糟糕透顶),因此,我决定是时候重新学习一下git了。

这篇文章讲的不是git基础的一些东西,而是那些你不知道或者只用过一两次的东西。

1、从 reset --HARD 中恢复提交

使用 git reflog 命令就好了. (由 Gittenberg 提供)

2、Diff

如果你想查看两个分支之间有什么不同之处,你只需要这样做:git diff branch1..branch2。

3、通过正则表达式匹配提交信息并显示

使用 git show :/fixes 命令,你可以找到提交信息中包含传入的字符串(这个例子中是fixes)的最近的提交。

4、限制 git push 的默认行为

如果你运行git push,默认的行为是将所有的分支提交到远程代码库。这可能会导致很多问题,如果你不想这么做,你可以:git config --global push.default tracking。

更新: Git 2.0 移除了这个默认的行为 http://blog.nicoschuele.com/posts/git-2-0-changes-push-default-to-simple

5、切换到一个分支 rebase 并 merge 到 master

可以这样做:git rebase HEAD feature && git rebase HEAD @{-2}

6、Git 保存工作状态

如果由于你的工作还没有完成,但此时又有紧急的是找上你,你可以使用 git stash 来保存这些修改,提交你紧急的任务,之后再用 git stash pop 恢复到你保存时的状态。

7、别名

你还在为一次又一次的输入 checkout 而感到讨厌吗?现在就去尝试:git config --global alias.co checkout。你就可以通过:git co master 命令来切换到master了。

8、重命名一个本地分支

使用:git branch -m old-name new-name 你可以很容易的重命名一个本地分支。

9、搜索作者名称

你可以通过使用git log --author=Matheus 来搜索一个指定作者的提交记录。

10、给git status 加上参数

大多数人仅使用git status,但是,你可以传入参数来改变状态显示的方式。

使用git status -sb 你可以得到类似下面这样的输出:

## master
 M Gemfile
 M Gemfile.lock
 M app/controllers/home_controller.rb
 M app/views/home/index.html.erb

参考资料

原文链接:http://www.open-open.com/news/view/1b81290

 

责任编辑:牛小雨 来源: open-open
相关推荐

2010-08-24 14:08:33

乔布斯

2014-03-21 10:23:32

2014-10-21 11:17:41

苹果设计

2018-05-30 12:04:36

LinuxUbuntu 18.0

2015-11-02 13:50:34

物联网物联网发展

2017-02-09 14:46:25

Git事情

2015-10-10 09:29:32

GitGithub

2015-05-07 13:13:27

JavaScript JavaScript

2021-02-16 09:02:59

Python代码技巧

2021-07-05 05:34:10

Typescript语言开发

2021-08-27 17:00:51

Linux内核

2015-06-19 13:54:49

2022-10-27 09:55:00

2015-08-03 13:59:55

2017-05-02 11:36:00

Java

2014-11-21 10:25:18

Java

2024-03-25 00:10:00

JSON后端开发

2015-07-13 08:49:54

2013-06-18 11:05:40

Mac Pro开发工具苹果

2019-03-15 16:28:17

携号转网网络质量电话卡
点赞
收藏

51CTO技术栈公众号