多人协同开发时Git使用命令

拉取仓库代码

# 拉取远程仓库至本地tar_dir路径
git clone git@github.com:your-repo.git target_dir
# 默认是拉取远程master分支,下面拉取并切换到自己需要开发的分支上
# 假设自己需要开发的分支是/feature/my_branch分支
git checkout -b feature/my_branch origin/feature/my_branch

获取最新更新并提交本地代码

每次提交本地代码前都需要获取远程仓库的最新更新。

# 获取远程所有分支的最新更新
git fetch --all
git pull # 如果有冲突则解决冲突
# 追踪本地修改并提交
git add .
git commit -m "mod"
git push

合并代码

多人协同开发时,为了保证不同分支的冲突尽可能少,所有人在自己所在分支提交测试前都需要合并来自master分支的最新提交。

git fetch --all
git checkout master
git pull # 将本地master分支与远程master分支同步
git checkout feature/my_branch
git merge master # 如果有冲突则解决冲突
git add .
git commit -m "merge master"
git push

创建新分支并推送到远程仓库

当自己开发的分支提交后,远程master分支会合并自己所在的分支,随后会删除自己原本所在的分支。这时需要创建一个新的分支继续下一轮迭代的开发。

git fetch --all
git checkout master
git pull
# 下面创建下一轮迭代开发所需的分支my_new_branch
git checkout -b feature/my_new_branch
git add .
git commit -m "init my new branch"
# 将本地的my_new_branch分支推送到远程仓库,并且保持远程仓库的分支名一致
# 这里远程仓库将自动创建远程my_new_branch分支
git push -u origin feature/my_new_branch

重命名本地分支并关联到另一个远程分支

当自己开发的分支提交后,远程master分支会合并自己所在的分支,随后会删除自己原本所在的分支。如果下一轮迭代的远程分支创建前,本地在原有分支基础上又进行了一些开发,当新的远程分支创建时,本地分支需要重命名和新的远程分支名保持一致并关联该远程分支。

# 注意此动作会拉取远程新创建的分支,并且会拉取master分支的最新代码
git fetch --all
# 本地分支可能落后master分支,所以关联远程分支前需要先与master分支同步
git switch master
git pull
# 假设本地原有分支名为feature/branch1
git switch feature/branch1
git merge master
# 假设下一轮迭代的远程分支是origin/feature/branch2
# 重命名本地分支
git branch -m feature/branch2
# 这一步需确保远程分支已存在,一般不是自己创建而是在公司代码变更平台提交新的变更创建新的远程分支
git branch -u origin/feature/branch2
git pull
git add .
git commit -m "init from local branch"
git push

回滚单个文件

在进行CodeReview时,一些文件的修改可能需要回滚,通常是回滚到master分支的最新版本。

git fetch --all
git switch master
git pull
git switch feature/my_branch
git pull
# 回滚单个文件,--后写文件的仓库根路径,在IDEA中可以直接右键复制,下面是一个仓库根路径示例
git checkout master -- xx-project-remote/src/main/java/com/xx/project/remote/XxxClient.java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值