0.回顾
- [Git] 015 远程仓库篇 第二话 关联与推送 的 "2" 中介绍过
git remote
git remote -v
- 与 "status" 不同,"remote" 加了 "-v" 显示的信息更加详细
1. 补充
- 从远程仓库克隆时,"Git" 会自动把本地的 "master" 分支和远程的 "master" 分支对应起来
- 远程仓库的默认名称是 "origin"
- 若没有推送权限,就看不到 "push" 的地址
2. 推送分支
- 目前为止,我的这个仓库就推送过一次
- 上一回用的命令:
git push origin master
- 是时候同步一波了,用
git push origin dev
命令将 "dev" 分支“推上去”
- 既然 "dev" 都推了,那 "master" 也推了吧
知识点1
但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master
分支是主分支,因此要时刻与远程同步;dev
分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;bug
分支只用于在本地修复 bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个 bug;feature
分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
总之,就是在 Git 中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定!
3. 有两个“号”的人
3.1 来自克隆人的克隆
3.1.1 "master" 篇
- 在 Linux 下克隆 "git_note_online"
- 可以看到只有 "master" 分支被克隆下来了
3.1.2 其它分支篇
- 一条
git checkout -b dev origin/dev
命令,三个作用
- 创建并切换分支
- 与远程仓库关联
- 使本地仓库的该条分支的内容与远程仓库的一致
- 在 "dev" 上给 "note_02.txt" 添加内容,然后 "push" 到远程
3.2 又见“冲突”
- 上一回冲突见:[Git] 018 冲突在所难免,需要巧妙化解
3.2.1 修改
- 在 Win10 下的 "dev" 分支修改 "note_02.txt"
3.2.2 添加、提交
3.2.3 推送
分析
- 出现了连接超时的现象,看来此时我的网络不稳定
- 我马上又试了一次,这不,成功连上了
- 但是,冲突了
- "Git" 给出了温馨提示:使用
git pull ...
3.2.4 拉
- 就像商店门上写的一样,进门要推,出门要拉
- "Git" 又给了温馨提示
- 没有当前分支的跟踪信息
- 若要合并某分支,自行查看更多细节
- 若要为当前分支设置跟踪信息,可以使用
git branch --set-upstream-to=origin/dev dev
3.2.5 设置本地 "dev" 分支与远程 "origin/dev" 分支的链接
3.2 6 再拉
3.2.7 解决冲突
- 打开 "note_02.txt"
- “定稿”
- 添加、提交
- 推
3.3 小结
- 就是个人合并分支的升级版
- 多了个与远程分支建立链接关系
这个知识点摘自瘳雪峰老师的《Git 教程》↩