git学习笔记(十二):多人协作
从远程仓库克隆时,git 自动把本地的master分支和远程的master分支对应起来了,可以使用git remote命令查看远程库的信息。git remote -v显示信息更加详细。
推送分支
推送分支就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支。这样,git就会把该分支推送到远程库对应的远程分支上。(很像复制粘贴文件夹)
$ git push origin master
不是所有的分支都必须和远程同步喔,master是主分支,要时刻与远程同步;dev是开发分支,团队成员都在上边工作,也需要与远程同步;bug分支只用于在本地修复bug,没必要推到远程。
本地新建的分支如果不推送到远程,对其他人就是不可见的。
抓取分支
多人协作时,大家都会往master和dev分支上推送修改。你的电脑和github账号连起来(SSH key),去克隆别人的远程库。
$ git clone git@github.com:你的目录
从远程库clone时,默认情况下,只能看到本地的master分支。但开发要在dev分支上进行,所以必须创建远程origin的dev分支到本地。
$ git checkout -b dev origin/dev
把dev分支push到远程。
$ git push origin dev
头脑风暴
如果两个人修改了同样的文件,推送到同一个远程分支,会发生什么?
- 总有先后,人家交了,你抓下来看看哪里改了,然后自己合并,重新提交
Rebase
多人在同一个分支上协作时,很容易出现冲突。即使没有冲突,后提交的人也要先下载,本地合并,然后才能提交。(谁知道这个过程中会不会又有人提交了,然后你可能要接着排队。)
这个也太难了,一时半会儿真是看不懂-_-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!