一些有用的Tips。
Clone远程仓库的某个分支
如果Clone远程仓库的时候,只想clone其中的某个分支,可以运行命令
git init
git remote add -t feature-add-menu -f origin https://github.com/workflow/learngit.git
git checkout feature-add-menu</span>
-t选项制定branch名,可以用多个-t指定多个branch。 -f选项表示立即进行一次fetch操作。
查看文件内容的变更历史
git blame <filename>
这个命令可以将文件中的每一行是在哪一次提交中变更的,提交时间,提交作者等展示出来。这可以很容易追溯到问题的起源。
可以加上-c 选项让输出可读性更好一些。
保存/恢复未提交的更改
如果正在修改,还不能提交,但又需要回到未修改前的状态做一些其他事情,git stash命令可以帮助做到这一点。
你可以多次运行git stash命令,git可以为你保存多个暂存区。
- 保存当前修改到暂存区并把工作区回退到未修改前的状态 git stash
- 显示暂存区列表 git stash list
- 恢复暂存区内容 git stash pop [<stash>] 或者 git stash apply [<stash>]
pop会从暂存区列表中删掉恢复的内容,apply不会。
可以指定恢复对象,例如stash@{0},stash@{1}...
如果不指定恢复对象,默认是stash@{0}
- 清除所有的暂存内容 git stash clear
图形化显示提交历史
命令 “git log --graph --oneline --all”
如果不加--all选项就只能看到当前branch的历史。
比较两个分支
git cherry -v branch_name
比如git cherry -v master可以比较当前分支上的提交是否也在master分支上。
显示结果中+表示本分支上比master分支多的提交;-表示少的提交。
打开pull的rebase选项
如果大家都在同一个branch上工作,给git pull加上rebase选项可以保证干净的工作树。
可以运行“git config branch.BRANCH_NAME_HERE.rebase true” 来给指定的分支总是加上rebase选项。
修改commit注释/压缩commit
如果commit注释写错,需要修改
1)如果是最近一次commit,并且还没有push,输入git commit --amend,然后修改message。
在Git里面,commit的注释也是提交的一部分,所以修改了注释之后,commit的ID(SHA1 Hash)也会变。
2)如果是最近一次commit,并且已经push,输入git commit --amend,然后修改message。
但是这样实际上是相当于reset到前一次提交,然后重新产生了一个提交,必须加上--force才能push上去。
3)如果需要修改之间某(几)次的commit,通过git rebase -i head~n命令。
例如,当前的提交历史
* 8a4ead7 patch4
* edee534 patch?
* 232d990 patch2
* e84c254 patch1
想要修改edee534的提交注释,运行 git rebase -i head~2
pick edee534 patch?
pick 8a4ead7 patch4
# Rebase 232d990..8a4ead7 onto 232d990 ( 2 TODO item(s))
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
rebase相当于把所有这些提交重新做一遍,这里的提示很详细,可以看出需要把第一行的pick修改成reword,然后wq退出。
reword edee534 patch?
pick 8a4ead7 patch4
这时候会要求输入新的message。把 patch? 修改为 patch3
再查看提交历史,就会变成
* d1fbe67 patch4
* bde9e11 patch3
* 232d990 patch2
* e84c254 patch1
4)如果想把几次提交压缩称为一个,也是通过rebase命令。比如要把上面的patch1~4这四次提交压缩为一次。
运行命令git rebase -i head~4
然后修改如下,wq保存退出。(s为squash命令缩写)
pick e84c254 patch1
s 232d990 patch2
s bde9e11 patch3
s d1fbe67 patch4
之后Git会要求你修改message。默认的message里面包含了这4次提交的所有message。
这里修改为patch1~4。
再查看提交历史,就会只剩下一次提交了。
* 821bb26 patch1~4
分享到:
相关推荐
git-tips 一些git技巧
matlab仿真代码git-tips git-tips选集,想要贡献更多? 请查看详细信息 | | | | 工具: -方便您最佳使用的便捷工具。 () PS:以下所有陈述均已使用git version 2.7.4 (Apple Git-66) 。 用 git help everyday 显示...
git-tips:Git的奇技淫巧
Git / Github 技巧和教程使用 Git 和 Github 的提示和教程集合。GitHub “训练营”:Github吉特- 下载git并查看文档。 第一部分:Git速成课程下面描述了我 (Graham) 执行的 99% 的 git 命令,并且应该可以帮助您入门...
git-tips:Git모음집(https:github.comgit-tipstips한국어)
git-tips:这里是我的笔记,记录一些git常用和一些记不住的命令
git-tips 关于 Git 版本控制系统的土耳其语文档和提示。 使用 ,它支持 Ruby 2.1.2 ...
Comprehensible guidelines with useful tricks and tips for effectively using Git for collaborative and Agile development Who This Book Is For If you are a developer and you want to completely master ...
Discover tips and tricks that will show you when and how to use the advanced features of Git In Detail Starting with the Git data model, you will learn how Git stores files and how it looks at commits...
Discover tips and tricks that will show you when and how to use the advanced features of Git Book Description Starting with the Git data model, you will learn how Git stores files and how it looks ...
* The tips of refs from the alternate object store can be used as starting point for reachability computation now. * Extra blank lines in "git status" output have been reduced. * The commits in ...
git-tips git-tips集合,想要添加您的提示吗? 结帐.md || | | || |工具: 方便使用的CLI,可以最佳利用这些技巧。 () PS:所有这些命令都在git version 2.7.4 (Apple Git-66)上进行了测试。 每天二十步左右的Git ...
技巧和窍门 :fire: :rocket: :high_voltage: 有关Git基础知识,请访问此链接。 一个只包含Git提示和技巧的仓库。 git log -10 --pretty --oneline 显示最近的10次最新提交,每行显示一次。 -10可以替换为您想要的...
gittips 你如何做时髦的长臂猿?如何添加更改? git add -p 始终始终使用git add -p添加更改。 永远不要使用git add . ,如果您这样做的话,从字面上看,您比希特勒还要糟,您会后悔的。 为什么? git add . 将整个...
Git is one of the most popular ... By the end of the book, you’ll have grasped various tips and tricks for everyday usage, while increasing your knowledge of Git providers, integrations, and clients.
local version control本地版本管理是一个很基本的需求,具体来说,在个人电脑上,我需要做一些文档或者写一个软件工程,为了记录增加,删除,修改等版本迭代信息,可以使用git进行版本管理。1.安装git软件 2.在文件...
zsh-fast-alias-tips 帮助您记住一次定义的别名。 用zsh和Go编写。...alias-tips-binzinit light sei40kr/zsh-fast-alias-tips使用安装zplug sei40kr/fast-alias-tips-bin, from:gh-r, as:command, r
使用此存储库中的工具,因为它们已被修改为适用于所有分支查看下面有关如何使用 Git 命令在分叉网络中进行搜索的其他Tips如何安装? git clone ...
我们使用建立网站。 要在本地建立网站,您需要: 节点14 npm 6(预安装在节点14中) 入门步骤 请按照以下步骤设置本地开发环境: 安装节点14(npm 6与节点14捆绑在一起) 安装Git(如果尚未安装) 通过GitHub...
AndroidTips A collections of tips in Android developing. Android开发总结。 ##前言 我们在日常开发中,会遇到各种各样的问题,或大或小。正是通过解决这些问题,使得我们的开发技能得到进步。养成记录的好习惯,...