背景:
使用代码管理工具是软件开发人员的必备技能。进入一家公司,工作流程一般都是: 使用git工具clone公司代码到本地---》commit 自己代码到git本地仓库--》push提交到git仓库的代码到公司代码分支---》pull 从公司代码分支的新增代码到本地仓库; 只要遵循提交代码前先pull代码,一般就不会出问题;但是一些新手就很怕代码冲突问题,正如墨菲定律说的一样,怕什么来什么,往往一提交就代码冲突,搞的自己战战兢兢。同样的问题也困扰了我一段时间,今天刚好有时间,索性彻底把git问题搞明白,顺便记录一下,希望也能帮到其他朋友.
准备工作:
安装git及Tortoise Git;
Tortoise Git 常用操作:
1. 从远程仓库拉去代码到本地:
1.1 新建文件夹GitDemo存放从远程仓库拉取的代码;
1.2 复制远程仓库代码地址:
1.3 鼠标右击 “Git Clone...";
1.4 拉取代码到本地:
1.5 点击 ”OK“,出现如下日志即是拉取代码成功,如果需要用户名和密码验证,验证即可.
2. 分支相关操作:
2.1 创建分支:鼠标右击,选择“Create Branch..."
填写分支名称,点击“OK”即可:创建名为demo-dev的分支
2.2 切换分支:鼠标右击,选择“Switch/Checkout..."
选择要切换的分支,点击“OK”:
此时在本地代码仓库,鼠标右击就会看到已经切换到demo-dev分支:
2.3 删除分支:鼠标右击,选择“Switch/Checkout..."
选中要删除的分支,右击,删除即可:
2.4 分支代码提交:在本地代码仓库,鼠标右击
将确认要提交的代码选中,并添加提交注释,即可提交:
2.4 分支代码合并及冲突处理:
a.修改demo-dev分支文件并提交:
b. 创建并切换到demo-test分支, 对相同的文件进行修改,并提交:
c. 分支合并及冲突处理: 合并demo-dev分支到demo-test分支
1)先将代码分支切换到合并后的主目标分支(demo-test)
2) 在本地代码仓库,鼠标右击,光标移到“TortoiseGit",点击"Merge..."
3) 选择将要被合并的分支(demo-dev),点击“OK”:
4)如果两个分支都修改了同一个文件,则会产生代码冲突, 因为git不知道要保留哪个分支的修改,这个就需要用户手动处理冲突。
点击“Resolve”跳转:
5) 解决冲突:冲突文件已被全部列出
双击冲突文件,跳转到冲突处理页面: 左上侧为被合并分支文件, 右上侧为将要合并到的分支文件,下部为合并后的最终文件的内容.
解决冲突时,可以点击界面顶部菜单栏的"Next difference" 或"Next conflict"让光标移动到下一冲突处,方便处理,知道这两处变为灰色不可点击时,即冲突被处理完;
冲突处理完后,将文件修改为已处理:
在冲突窗口文件列表中,文件已消失:
6) 冲突完全处理后,再提交一次代码即可.