git团队开发常用命令

前言

平时用git都是git clone和git push,没有过多操作;打工以来,才知道团队开发还有git pull和git checkout,甚至git reset;哈哈哈,可能你一口气看下来也没有拎得清,记录一下各个场景的使用情况。

1. 多分支并行开发

假设远程已经有多个分支(test1,test2)在开发中,如何并行开发?

  1. 获取远程仓库某分支(test1)代码:
git clone https://xxxx.git -b test1
  1. 一通开发后,上传代码到远程test1分支:
git add .
git commit -m "提交信息"
git push origin test1

多分支开发:

  1. 创建本地分支并切换到新分支
  2. 拉取远程分支代码
git checkout -b test2
git pull origin test2
  1. 推送到远程分支test2
git add .
git commit -m "新分支test2"
git push origin test2

合并分支:(将test2合并到test1分支中)

  1. 确定现在在本地test2分支,同时代码和远程test2分支保持一致为最新代码
git checkout test2
git pull origin test2
  1. 拉取远程test1分支代码
git pull origin test1
  1. 修改冲突(查找<<<<<<修改)
  2. 推送到远程test2分支
git add .
git commit -m "合并test1到test2"
git push origin test2

ok,以上都是一般开发的正常流程!

往往开发不是只记得git命令就OK的,各种协同开发的坑还是会打湿了河边人的脚。

2.协同开发冲突

协同开发就是不停的git push和git pull,上传自己的代码,拉取别人的代码,如有冲突,解决。

coderA和coderB同时开发一个项目,什么时候容易有冲突?

  1. 修改冲突:A,B同时修改了同一处代码,修改内容不一致;A已提交代码到远程分支,B在本地修改了同一处,拉取远程分支合并
    解决办法:谁代码效率高听谁的,可以查找<<<<<或报错信息定位到代码,根据修改逻辑保留正确且代码效率高的一个人的代码就可

  2. 文件冲突:文件夹目录移动或删除,git有工作区、缓存区、版本库,一般在编译器里面操作可以跟踪文件状态,如果一不小心在文件夹或者意外删除修改,文件冲突是相对难改的

3.反悔机制

远程的代码无误,本地一通修改后,发现效果不是理想的效果,git
是可以回退版本的:

  1. 查看查看在你上次提交之后是否有对文件进行再次修改
  2. 查看最近提交代码的版本号
  3. 重置版本号
  4. 从最近一次 commit 或者仓库中拉取(检出)代码,会覆盖掉当前 unstash 的修改
git status
git log
git reset 12432425252525252521456153443
git checout .

当然git reset的用法不止这一点点

上一篇:test2


下一篇:test2