zoukankan      html  css  js  c++  java
  • GitHub教程学习笔记4---多人协作

    学习到这里之后,感觉对于小型团队合作就够用了。后续还有其他课程目前感觉不太用的上,比如rebase,标签管理,自定义git,所以学习笔记先到这里告一段落吧~~

    廖雪峰Lec16:多人协作

    git remote
    git remote -v //查看远程库信息
    git push origin master //把本地master推送到远端master
    git push origin dev //把本地dev分支推送到远端dev

    git clone git@github.com:LuffysMan/learngit.Git //假设另一个小伙伴想克隆项目(可以换台电脑或者换个目录)
    git branch //只能看到本地仓库master
    git checkout -b dev origin/dev //创建本地dev分支映射到远端origin/dev
    vi env.txt
    git add env.txt
    git commit -m "add env" //添加一个文件env.txt
    git push origin dev //提交到远端


    cat env.txt //你也想添加一个evn.txt,此时你处于dev分支
    git add env.txt
    git commit -m "add new env"
    git push origin dev //失败!你和你的小伙伴都提交了env.txt,冲突了!
    git pull //好吧,你妥协了,准备抓取小伙伴的env.txt下来;纳尼,又 //失败,因为你本地dev没有映射到远端origin/dev
    git branch --set-upstream-to=origin/dev dev
    git pull //ok,抓取成功,但提示合并有冲突
    vi env.txt //手动修改冲突
    git add env.txt
    git commit -m "fix conflict"
    git push origin dev //你也把env.txt成功推送到远端dev分支

    小结

    1.并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
    a.master分支是主分支,因此要时刻与远程同步;
    b.dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
    c.bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
    d.feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发
    2.多人协作的工作模式通常是这样:
    a.首先,可以试图用git push origin <branch-name>推送自己的修改;
    b.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    c.如果合并有冲突,则解决冲突,并在本地提交;
    d.没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
    e.如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
    f.在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致

  • 相关阅读:
    c语言 作用域、存储期、链接属性汇总
    进程上下文切换分析
    进程装载过程分析(execve系统调用分析)
    fork 创建进程的过程分析
    系统调用软中断处理程序system_call分析
    linux 系统调用分析
    8分钟带你深入浅出搞懂Nginx
    控制反转
    JAVA泛型(转)
    AOP(转)
  • 原文地址:https://www.cnblogs.com/LuffysMan/p/9862310.html
Copyright © 2011-2022 走看看