目前博主所在公司呢除了远程的git主仓库,同时每个人还从主仓库fork了属于自己的git子仓库(这样做有利于review代码,也能保证主仓库代码少受点代码冲突的干扰),画个简易的流程图吧。ps:个人觉得通过fork仓库和本地建立多个分支避免代码冲突的效果差不多
git基本命令
参考这篇博客,写的已经很详细了:https://blog.csdn.net/halaoda/article/details/78661334
关联本地分支与远程分支
git branch --set-upstream-to origin/devtest devtest
如何运用git命令进行一些回退操作?
情况一:不小心使用了add .或者add 错了某个没有必要提交的文件,但是还未commit
git status //先看一下add 中的文件 git reset HEAD //如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.java //HEAD 后面加上已add的文件名能指定撤销某个文件
情况二:撤销已commit的内容
git log //找到之前提交的git commit的id,使用relog也行 git reset --hard commit_id //完成撤销,同时将代码恢复到commit_id 对应的版本 git reset commit_id //完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改
避免冲突的代码提交规范
四步走:add 、commit、pull、push 万无一失(绝大部分情况)
git add -A 删除文件和增加所有改动的文件
git commit -m “xxxx” 提交msg
git pull 拉取远程分之,有冲突先解决冲突,解决后再次add和commit
git push 推送到远程分之
注意⚠️:如果是和我部门一样的情况,是通过fork仓库而不是建立本地分支来避免代码冲突,编写代码前进入git子仓库-Settings-Fork syncing 查看有没有未自动合并代码,点击Synchronize
手动合并完代码后(如果合并后有冲突按照提示步骤解决冲突即可)再进行代码编辑,add,commit , pull ,push操作