Git 介绍
Git是一种版本控制的软件,它的中文概念为“仓库”。程序员们主要用它来进行代码的版本迭代开发和团队协作。但同时其他需要版本管理的工作也可以使用Git来完成,比如说需要不断修改的文档撰写(毕设论文等)。
Git UI(用户界面)
GitKraken软件是一款Git UI工具
使用流程
建立本地仓库
- 在代码托管平台建立好项目后clone到本地,可实现团队、多设备协同工作
- 在本地之间建立项目
设立分支
多设分支是一个好习惯。
右键即可创建新的分支并取名,同时右键也能通过checkout从当前为止切换到另一分支上去,对应的git命令为:
git branch [branchname]
git checkout [branchname]
提交commit
在一次文件编辑完后,GitKraken会自动检测到文件的改变,在右侧的信息栏中显示出来:
点击“View change”后页面如下:
“stage all changes”意为将所有的文件变化都保存下来,同时文件也会从Unstaged Files进入Staged Files区。一般提交commit时要编辑变动说明,也就是Commit Message,Summary是一定要填的,Description则不一定。这样也方便之后的版本回顾。
右侧的Amend选框表示的是此次Commit是否要覆盖上一次的Commit,一般这应用于上次的commit内容有错的情况下,减少重复提交的版本。
分支合并
在git命令中,merge是分支合并的命令
git merge [branch]
在Gitkraken中,在想要合并到的分支上右键即可,且菜单会详细写明合并的方向。
合并冲突
这里要提一下的是合并冲突问题。
以master和dev两条分支为例,当这两条分支上同一文件各有一个版本commit后,可能会存在冲突的地方,例如两个代码文件的第17行变量a在master中被赋值为1,在dev中则被赋值为2,这样就存在冲突了。GitKraken会识别出冲突的地方,并会询问你保存哪一版本,此时选择需要保存的版本即可。
至于文件其他不冲突的代码,一般来说会自动合并。
分支rebase
当分支merge后,master会保留分支上的改动,但分支仍旧停留在这次改动的地方,没有随着master前进一步。
一般来说此时分支都是可以删除的,但如果还是要在这条分支上编辑,可以用rebase命令实现分支的移动。
这样就可以创造更加线性的提交历史了。
版本回溯
先跳转到要回溯的分支或是master上,在要回溯的节点右键,选择reset即可回溯,三种回溯模式分别是:
- Soft:仅仅把HEAD回溯,把之前的版本保留在暂存区
- Mixed:把之前的版本保留在工作区
- Hard:直接把当前的版本完全重置回溯,工作区和暂存区都完全清理(慎用)