- 查看当前分支,确认提交分支的正确行,这步不是必须
git branch
- 确保当前分支在是最新的
git pull hak
- 添加文件
git gui
notes: 在打开的界面中选择你要提交的文件,选择时确认你的改动是没有问题的
- 提交到本地操作
git commit
- 提交到服务器
git push hak
分支新建
学习目标: 正常功能开发都是新建分支,在分支上进行功能开发,完毕后合并到主分支
- 确认当前分支是最新代码
git pull hak
- 新建功能分支
git checkout -b your_branch
notes:注意分支命名
- 推送功能分支到服务器
git push hak your_branch
分支合并无冲突操作
学习目标:掌握没有冲突情况下的代码合并操作并注意操作规范 1->2->3->4->5->6
- 切换到你当前的开发分支
git checkout your_devlpment_branch
- 确保当前分支在本地是最新的
git pull hak
- 切换到主分支
git checkout your_master_branch
- 确保主分支代码本地是最新的
git pull hak
- 合并your_devlpment_branch分支到your_master_branch分支
git merge your_devlpment_branch
notes: 注意如果合并没有冲突会自动执行commit操作
- 提交合并后代码到服务器
git push hak
合并分支有冲突
学习目标:掌握冲突情况下的代码合并操作并注意操作规范 1->2->3->4->5->6->7->8->9
- 切换到你当前的开发分支
git checkout your_devlpment_branch
notes:your_devlpment_branch是你的分支名称
- 确保当前分支在本地是最新的
git pull hak
- 切换到主分支
git checkout your_master_branch
notes:your_master_branch是你的主分支名称
- 确保主分支代码本地是最新的
git pull hak
- 合并your_devlpment_branch分支到your_master_branch分支
git merge your_devlpment_branch
- 合并是否有冲突检查
Automatic merge failed; fix conflicts and then commit the result.
notes: 如果有冲突你会看见如上类似的冲突提醒
- 解决冲突 用可视化工具解决你的冲突文件
git mergetool
notes: 最左边是当前主分支的代码,最右边是功能分支的代码,中间是你合并后的代码
- 提交冲突文件
git commit
- 提交文件到服务器
git push hak
git易用操作
学习目标:熟悉常用且好用的指令,快速解决git操作引起的错误
- 当前你进行了commit操作,如果你不想进行后续操作希望返回到它的前一步操作(add后的操作场景)你可以使用如下指令
git reset --soft HEAD^
- 当你在pull代码时报如下类似的错误
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> your_branch
你可以使用如下指令执行后就不会有这种提示了
git branch --set-upstream-to=origin/your_branch
- 当你在切换到已有分支,但是切换报错的时候,你可以使用如下指令解决
git checkout -b your_branch --track origin/your_branch
- 当你使用的是别人的帐号下载的代码,如果你想修改你当前项目下载代码的帐号时,你可以使用如下指令:
git remote set-url origin ssh://your_accout@192.168.2.250/data/git/TravelSky-HU.git
- 当你在主分支(main_dev)修改了bug等小的操作,但是你想把这段代码合并到其他分支(main_dev_function)上时,你可以使用如下指令:
git checkout main_dev
git pull hak
git log #找到你修改bug等小操作的commitid
git checkout main_dev_function
git pull hak
git cherry-pick commitid
#有冲突解决冲突,解决冲突后需要执行git commit
git push hak
- 当你修改了部分代码但是此时你需要修改另外分支的bug,此时你可以执行如下指令
git stash #缓存到你的本地库中,执行完后就不会有你修改的代码
git stash pop #当你修复完bug,切换回开发分支时执行这个指令会还原你当初修改的代码,默认是最后一次的
notes:当你有多个stash的时候,可以用这个指令还原制定版本的代码 git stash pop stash@{0}