git进阶

git中有此高级命令,在开发中可以帮助我们解决问题,同时提高工作效率。

1 git stash

git stash相当于开辟了一个储存堆栈.当我们要切换分支,但还不想提交时,可以使用此命令快速保存状态。

git stash 不带参数时会将当前工作区的改变保存在栈顶。

git stash list 可以查看当前堆栈中保存的所有储藏点。

git stash drop 会将栈顶的储藏点从堆栈中移除。Git stash pop是一个便捷命令,可以将栈顶的储藏点应用到工作区,同时会将储藏点移除栈顶。

git stash apply [储藏点名字] 可以将指定的储藏点应用到工作区中。

git stash save “stash message” 可以给要保存的信息添加评论。

2 下面命令可使log变得更加生动

 git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold  blue)<%an>%Creset' --abbrev-commit --date=relative

3 git reflog

git reflog可以查看所有分支的所有操作记录。

检查丢失的提交

尽管reflog是唯一检查丢失提交的方式。但它不是适应用于大型的仓库。那就是fsck(文件系统检测)命令登场的时候了。

git fsck --lost-found

这里你可以看到丢掉的提交。你可以通过运行git show [commit_hash]查看提交之后的改变或者运行git merge [commit_hash]来恢复到之前的提交。git fsck相对reflog是有优势的。比方说你删除一个远程的分支然后关闭仓库。用fsck你可以搜索和恢复已删除的远程分支。

5 cherry-pick

cherry-pick就是从不同的分支中捡出一个单独的commit,并把它和你当前的分支合并。如果你以并行方式在处理两个或以上分支,你可能会发现一个在全部分支中都有的bug。如果你在一个分支中解决了它,你可以使用cherry-pick命令把它commit到其它分支上去,而不会弄乱其他的文件或commit。

Git cherry-pick [commit-hash]

.如果顺利,就会正常提交

如果在cherry-pick的过程中出现了冲突,就跟普通的冲突一样,手工解决。

6 查找修改者

git blame 该命令会显示出文件中每一行的作者,提交hash则会找出该行的上一次修改,还能看到提交的时间戳。

7 忽略文件

在git根目录有新建一个".gitignore"。这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。被过滤掉的文件不会出现在git仓库中(gitlab或github),当然本地库中还有,只是push的时候不会上传。忽略文件中支持“*”,“?”,“!”。详情可以看这里

8 git rebase

git rebase -i 【commitid】 用于压缩多个commit 为一个commit。

如果你想要压缩最后两个commit 可以 git rebase -i HEAD~2

运行该命令时,你会看到一个交互界面,列出了许多commit让你选择哪些需要进行压缩。理想情况下,你选择最后一次commit并把其它老commit都进行压缩。在保留的commit 前改成pick 需要合并的commit 修改成squash 然后保存(vim 中:wq)然后git 会要求你输入合并后的commit message。输入后保存就成功了。

9 从另一分支获取文件内容而不用切换分支

git checkout 【分支名】【文件路径】

该命令类似于cherry-pick,都是把一个分支改变的内容copy到另一个分支,不同点在于cherry-pick会在目标分支上自动产生一个新的commit,而checkout则仅做内容的改变,不会自动提交

10 设置beyond compare作为对比工具

打开 Beyond Compare -> Beyond Compare Menu ->Install Command Line Tools必须要安装Beyond Compare 命令工具,否则会报错

设置diff

git config  --global diff.tool bc3 设置后就可以使用git difftool <filename> 进行比较了

设置Merge

git config --global merge.tool bc3

git config --global mergetool.bc3 trustExitCode true 使用与diff类似。git mergetool <filename>

但是每次比较文件的时候都要询问我是否启动对比工具。可以使用下面命令去掉

git config --global difftool.prompt false

11 git 其他设置

git 更新远程分支列表 git remote update origin --prune

Git中可以使用alias为命令设置别名可以提高工作效率。例如:

Git config --global alias.co checkout

Git config --global alias.ci commit

如果想要终端有颜色就可以开启给git输出颜色

Git config --global color.ui true

设置终端的编辑器为vim(当然首先要安装在电脑上)

Git config --global core.editor “vim”。

这些配置都保存在~/.gitconfig中可以打开这个文件查看,也可以使用命令git config -l查看。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容