当前位置 博文首页 > cungudafa的博客:git团队开发常用命令

    cungudafa的博客:git团队开发常用命令

    作者:[db:作者] 时间:2021-09-08 10:28

    前言

    平时用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的用法不止这一点点

    cs