Git与多人协同 | 青训营笔记

70 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第14天

在进行多人协作时,因为成员们各自的开发环境不同,常常会因此导致各种奇怪的错误。只是遇到一两个bug还好,但如果整个项目都因此无法运行那就让人相当痛苦。这种情况下,就轮到Gitpod出手了。

Gitpod

Gitpod是一款在线IDE,能即时修改github代码,可以看做是VS Code的网页版。

它的使用非常简单,只要在浏览器里输入https://gitpod.io/#github.com/NAME/YOURWORKgithub.com/NAME/YOURWORK代表你要参与的项目的url地址。

按下回车后,Gitpod会自动帮你把项目克隆到它的工作区,并显示一个神似VS Code的IDE界面,里面的项目就刚刚克隆的项目,你可以在这里修改代码,并且进行任何git操作。

注意

默认状态下Gitpod没有repo的写权限,因此git push操作无效。因此需要开放相关权限,位置路径如下:

User Settings -> Integrations -> Git Providers -> GitHub -> Edit Permissions

Git

下面附上一些常用的git操作。

常用操作

将所有文件提交到暂存区:git add .

提交到仓库:git commit -m "message"

  • 以上两个命令直接用IDE完成更方便

查看当前状态:git status

查看当前所有分支:git branch

创建/切换分支:git branch/checkout <branch-name>

创建一个新的分支同时切换到新创建的分支: git checkout -b <branch-name>

拉取并同步远程同名分支:git pull

推送本地分支到远程同名分支:git push

同步远程分支:

  • git pull --rebase <remote-branch>

将本地当前分支的代码推送到远程指定的分支:

  • git push origin <local-branch>:<remote-branch>

版本回退

版本回退参考:git版本库的代码回退技巧

git revert HEAD^:以创建新提交的方式回退到一提交,多人协作中使用这个

git reset HEAD^2:以删除本提交的方式回退到上上次提交

常规流程

某段开发工作完成后:

git add . -> git commit -m "message" -> git push -> git checkout <master> -> git pull -> git merge <dev> -> sync -> git checkout <dev> -> git merge <master> -> sync

<master>代表主分支,<dev>代表个人开发的分支