基础功能
丢弃:放弃未暂缓区的所有修改(工作区中的修改不会添加到版本控制,就是修改的东西不想提交,就直接丢弃)
移除:直接删除文件
克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
检出(checkout):切换不同分支
添加(add):添加文件到缓存区
移除(remove):移除文件至缓存区
暂存(git stash):保存工作现场
重置(reset):回到最近添加(add)/提交(commit)状态
合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
获取(fetch):用处更多的是用来查看对于你本地仓库的状态来说远程仓库是否有更新,仅此而已,并不会使你的本地仓库发生改变
拉取(pull):会把你本地仓库没有 而远程仓库有的更新写到你本地中;,
推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
分支(branch):创建/修改/删除分枝
标签(tag):给项目增添标签
在我们开发迭代过程中,会遇到这种情况,当前的版本是1.0.0。但需要找到版本号0.5.0的版本提交时,可能因为时间久远,不能快速定位到当时V0.5.0的提交记录,这个时候我们就需要进行标签管理了。
工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分支
终端(terminal):可以输入git命令行
Git图谱
Git图谱利用不同颜色的点、线结合时间轴按照一定规律,呈现项目的版本演进记录。
git图谱可以看出开发分支是从哪个分支检出的
SourceTree的重置当前分支到此次提交
其实就是拿本地覆盖远程
需要开启强制推送 【工具】----->【选项】----->【Git】----->【开启强制推送】
1.软合并
软合并是指将此次提交回滚到指定提交位置,但这个过程中会将修改过的文件暂存到暂存区。
2.混合合并
混合合并是指将此次提交回滚到指定的位置,但这个过程中不会将修改过的文件暂存到暂存区,而是将修改过的文件存放在未暂存文件区。
3.混合合并
强行合并是指将此次提交回滚到指定的位置,但这个过程中将直接丢弃之前修改的所有文件,
因此在选取此种合并时需要考虑清楚,避免一些不必要的麻烦。
应用场景1
如果你的未暂存文件中里面有非常多的文件需要丢弃变更,可以使用重置所有一次搞定
应用场景2
把当前分支重置到指定的位置
提交回滚
sourceTree的提交回滚,是将你所操作分支的提交回归初态,换句话说就是取消该提交的所有东西。但是不会影响该提交之后提交的所有东西。例如,当前是c,但是做了回滚a的操作,只会将a提交的东西清空,代码里面还是会保留b和c提交的代码。
应用场景1
代码预发布,发现某一次代码提交有问题。可以使用回滚给删除掉
遴选功能
将某一个历史提交change应用到当前分支。
遴选一般和回滚结合使用
选中一个更改并合并入当前分支
合并后直接提交(不选就需要手动提交)
应用场景1
项目中并行开发,可以捡取某一次代码提交合并到自己的项目中
sourceTree"重置提交"和"提交回滚"的区别
首先这儿假如,历史版本已经出现了1、2、3、4、5、6、7、8、9,当前的版本是9,讲述执行上面两种操作,分别会有什么效果
1.提交回滚
假如我选中6,执行“提交回滚”之后,你会发现7,8,9的历史操作还在,只是将6的操作还原了,这时候需要注意的是7、8、9的操作会引起提交回滚6的时候产生冲突
2.将master重置到这次版本
假如我选中6,执行“将master重置到这次版本”之后,你会发现这个时候历史列表显示落后4个版本,