git问题多人协作是push master还是branch? 5C

远程有个maste,dev, feature1,feature2....分支。
我们是团队开发,请问假如远程git repo的feature1是我的分支,我本地有2个分支,master和b1,我需要把我的代码push到远程的feature1上。
我是(1)
#git checkout master
#git merge b1
#git push master: origin/feature1
还是(2)
#git checkout b1
#git merge master
#git push b1: origin/feature1
还是(3)
#git checkout b1
#git push b1: origin/feature1
哪一种是对的呢?谢谢!

git
0

6个回答

应该是git pull更新代码,
git checkout feature1切换到feature1分支,直接修改你的代码,
git add增加你修改的文件到本地feature1分支,
git commit -m"" [修改的代码]提交你的修改到本地feature1分支,
git push origin feature1"" [修改的代码]push你本地分支上的代码到feature1分支,再由管理员合并到master分支。

1
qdf8474
qdf8474 git push origin feature1push你本地分支上的代码到feature1分支,再由管理员合并到master分支。
8 个月之前 回复

多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

0

git基本操作
1. 初始化本地仓库
git init

  1. 管理仓库下的文件
    git status 查看当前仓库下文件的变动情况
    A.文件没有被跟踪[untracked]
    git add --all

    git add 目标文件名
    B.文件被跟踪【也就是添加到索引区了】

        git commit -m "log"
    
    C.文件已被存储到本地仓库中,以提交点为id[40位字母与数字组成的唯一性字符串]
    
  2. 分支的操作
    git branch 查看所有的分支

git checkout branchName 切换到指定分支

git checkout -b branchName 创建并切换到指定分支

git branch -d branchName 删除指定分支

git merge brancheName 把指定分支合并到当前分支上[一般先切换到master后再执行]

  1. 如何撤消修改
    第一种情况:修改没有添加到stage区[索引区]

    git checkout -- 文件名

    第二种情况:修改已经添加到stage区[索引区]
    首先要把它从stage区撤出
    git reset HEAD 文件名
    其次,再执行第一种情况的命令即可
    git checkout -- 文件名

5.如何解决冲突?conflicted
首先,打开有冲突的文件,把冲突解决掉
其次,再执行:
git add --all
最后,执行:
git commit -m "log"


如何把本地仓库同步到远程
1. 首先,你要确定一个远程仓库,供应商有:
www.github.com
www.gitee.com
www.coding.net
...

  1. 分为两种情况 A. 先在远程平台上,创建一个PUBLIC的远程仓库,然后,通过在本地执行: git clone www.gitee.com/你的用户名/创建的仓库名.git 这样一来,就把远程仓库同步到本地了。

B. 我事先已经在本地创建好了项目,但是远程没有,要按如下步骤进行
1. 先在远程平台上,创建一个远程仓库

2. 要把本地项目与远程建立联接
基于SSH
git remote add origin git@gitee.com:yejf/jquerytech.git  // 把本地库与远程库关联

基于HTTPS
git remote add origin https://github.com/yejf/jQueryTeach.git

git push -u origin master  //第一次推送,使用-u选项,会让用输入用户名
    和密码
git push origin master  // 第一次推送后,直接使用该命令即可推送修改

拉取:
git pull
0

第一种方案比较方便可靠

0

多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

0

你本地的分支b1,master

注:master分支一般是不做任何修改的
假设你在b1分支上做了修改并且是基于远程feature1做的修改

你现在处于master分支:
git fetch origin featuer1
git checkout origin/featuer1
git checkout -b featuer1
git co b1
git rebase featuer1 //注意:是否会出现冲突,如果出现,先解决
git co featuer1
git merge b1
git push origin featuer1

当然,如果master上也有修改建议将master上修改的节点通过cherry-pick命令迁到分支上

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的。是时候展现真正的技术了!
其他相关推荐
git新建一个分支--set-upstream
  一。使用场景: 本地新建一个分支后,必须要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。关联目的是如果在本地分支下操作: git pull, git push ,不需要指定在命令行指定远程的分支. I create a new branch in Git: git branch my_branch Push it: git push origin my
git---基本操作、新建分支,合并分支branch到主干master ,git pull ,git push
初始化git仓库 git init ///输出:Initialized empty Git repository in /home/jin/Documents/gitLearn/.git////则于指定位置初始化了一个空仓库,会自动创建.git文件。文件中.gitnore则用来排除指定文件夹/文件提交到变化中 添加变化 git add . //提交所有新增文件和变化文件,不包括被删除文件git ad
git提交本地master到远程branch(bitbucket)
1.git branch 2.git status 3.git add . 4.git commit -m ""
git使用过程遇到的问题
1.今天试git的时候最后一步 git本地仓库push远程仓库的时候,出了这个错: fatal the current branch master has no upstream branch 解决方案 : 用如下命令提交 git push -u origin master 2.想创建远程分支testT,直接在master下执行以下命令,报错如下 $ git push -u ori
Git新建本地分支与远程分支关联问题:git branch --set-upstream
Git新建本地分支与远程分支关联问题:git branch --set-upstream git在本地新建分支, push到remote服务器上之后,再次pull下来的时候,如果不做处理会报以下提示: You asked me to pull without telling me which branch you want to merge with, and 'branch.production.merge' in your configuration file does not tell me, e
git 关于分支,关于远程分支,关于push pull 的时机
远程分支(remote branch)是对远程仓库状态的索引。它们是一些无法移动的本地分支;只有在进行 Git 的网络活动时(push ,pull,fetch clong)才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。         我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支。比如我们想看看上次同 origin 仓库通讯时 master 的样子,就应该查看 origin/master 分支。如果你和同伴一起修复某个问题,但他们先推送了一个 iss
深入理解git push
git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。1.1 git push origin m
解决Eclipse中使用Egit无法push to upstream的问题
在上一篇《Eclipse 使用Egit插件通过SSH上传代码到GitHub》中,本人通过Egit上使用ssh方式上传代码到github中,但是后面出现了问题,每次修改完代码之后想push到github上,发现push to upstream为灰色无法点击。通过查阅其他朋友的解决方案得到了问题答案。 在新建完本地仓库与远程仓库,并commit本地仓库之后,需要配置仓库。具体方案如下: 1、w
git 一直无法push的解决办法
情况是这样的,我在修改完本地的代码之后 执行 add   commit 这个时候应该可以push,然后我push了一下,然后命令行告诉我并没有修改任何内容,然后我刷新我的github的仓库也没有反应,的确push 失败了,然后我就再次重复上面的步骤 一次,发现还是不行,但是步骤并没有错,而且内容的确修改了,然后我git status了一下 这是显示的状态: $ git status HEAD d
【Git】常用命令commit提交,push推送,merge,添加分支branch
1.常用操作: 1.添加跟踪文件 git add . 或 git add -A 根据ignore的配置,添加跟踪文件,其中的.或-A表示添加所有更改过的文件。 2.查看状态 git status     3.提交到本地: git commit -m &quot;说明&quot; 引号内为本次提交的说明文字。如果说明文字很长需要换行,则用单引号来换行,如: git commit -m...
Git入门指南八:Git撤消操作
十二. Git撤消操作 12.1 修改最后一次提交 git commit --amend 1.新建一个文件 2.提交一个之前的更改 3.跟踪这个文件 4.跟前一次一起提交 提示你是否重新编辑提交说明,如果不编辑退出后还是跟之前一样提交 commit 成功 或 git commit -m “” 可以直接提交
git冲突解决、多人合作
git branch //查看分支 git branch name//创建name分支 git checkout name//切换到name分支 git checkout -n name //创建+切换分支 git merge name//合并分支到当前分支 git branch -d name//删除分支 冲突的解决方法 bo@bo MINGW64 ~/Desktop/test ...
git 创建一个新branch,push到远端后,通过网页可以看到新建的branch
通过git checkout -b firstbranch smmu/master。可以基于smmu/master 建立一个新的branch,然后通过git push smmu HEAD:firstbranch 就可以将这个branch 推到远端, 这样就可以通过网页看到新建的分支
git rebase的原理之多人合作分支管理
在上篇的Git rebase -i 交互变基,体验艺术般的命令文章中,我有两点为忽略了,现在补充说明下 1、在git rebase -i 后 ,用git push -f origin local_branch:remote_branch : 其实这个命令在你一个人单独维护一个分支,不共享给其他人的时候 ,是可以随便用的,因为你一个人在本地就能确定哪个是你想要的,哪个你不想要。 而当你和其他人合
Eclipse配置Git全过程-----------附用EGit不能push的问题解决
声明:如果Eclipse不能找到team->remote->push操作,需要单击Eclipse->Window->ShowView->Other...->Git->GitRepositores跳出Git Repositores.如下图(可以邮寄跳出pushbranch): 转自:http://blog.sina.com.cn/s/blog_79ba23780101rkp3.
git入门-----远程操作相关命令(remote 、push、fetch 、pull)
网上的一个挺系统的图:   1、远程库相关的操作命令       1.1、git remote :为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。               git remote 命令即可,就会列出远程库的名字。在我们clone了刚才的项目之后,默认会看到一个origin的远程仓库。 Admin
优雅的使用git搭建项目环境教程--轻松拉取、合并protected的分支
首先下载git,安装(路径为英文),地址自找,o(╯□╰)o。配置git基本环境1) 打开git命令终端,或者在随便一个文件夹下,鼠标右键选择git bash here打开终端。git config --global user.name &amp;amp;quot;姓名&amp;amp;quot; git config --global user.email &amp;amp;quot;你的邮箱&amp;amp;quot; ssh-keygen -t rsa -C &amp;amp;quot;上面填的邮箱&
git分支branch详解
上一篇git的基本原理http://blog.csdn.net/xiaoputao0903/article/details/23912561,介绍了git最基本的原理和相关操作,这篇就来讲讲git的分支。 1.git的分支是什么         顾名思义,分支就是从主线上分离出来进行另外的操作,而又不影响主线,主线又可以继续干它的事,是不是有点像线程,最后分支做完事后合并到主线上而分支的任务完
git中rejected的解决方法
在网上搜了一下,出现这种情况的原因是因为git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。   第一种解决方法是强推   即利用强覆盖方式用你本地的代码替代git仓库内的内容   git push -f   第二种解决办法是先把git的东西fetch到你本地然后merge后再push $ git fetch $ git merge 这两句相当于$ git pul
解决本地上传远程的冲突两种方式的区别:git push -f origin master和git pull --rebase origin master
git push -f origin master or git push origin master -f 本地强制上传到远程,把远程的覆盖 git pull --rebase origin master 拉取远程的文件把本地的覆盖,再上传 一般推荐第一种...
git使用基础操作
从今天开始,正式进军github! 学习参考网址 :http://blog.csdn.net/googdev/article/details/52575079 非常感谢大牛stormzhang,他的文章非常赞!!! 一、Git 安装 Mac:https://sourceforge.net/projects/git-osx-installer/ Windows:http
git 提交merge到master分支
git checkout master git pull #切回你开发的分支 git checkout lyra_20180604_FINANCE-8196 git merge master git push
git版本控制:如何处理当前分支为*(no branch)的情况
在使用git branch命令查看当前环境所在的开发分支时,如果出现*(no branch),则表示当前不处于任何分支,这时可以通过如下几种方法处理,以便于后续项目版本的管理: 1:git checkout -b 分支名;此时新创建的分支与*(no branch)软件一样 2:如果想将*(no branch)合并到主分支master,则首先执行git log命令,记住第一行的id号,然后执行g
Git push 常见用法
Git push         在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。     git push的一般形式为 git push   ,例如 git push origin master:refs/for/master ,即是
Git远程分支和refs文件详解
最近同时同步博客到github和gitcafe上,遇到一些问题,我们分如下几个方面来分析一下: 推送远程分支到同一个服务器 推送远程分支到不同服务器 总结一下
gitlab 强制提交
类似文章 之前在自己的电脑上强制提交了不少次。然后刚才发现之前部署的gitlab强制提交不了。 git push -f origin master 报错 Counting objects: 6, done. Delta compression using up to 8 threads. Compressing objects: 100% (6/6), done. Writing ...
Git精简教程,快速上手
由于以前工作一直使用SVN,这次做RN,客户端使用的git来管理源码,所以今天花了点时间来研究git。 目的:以最短的时间上手git,不说原理性的东西,让从未使用过git的人能快速上手。so,让我们开始吧。 1、安装 (略) 百度一大把 2、配置账号 git cofig --global user.name "xiaodao" git config --global user.em
git修复commit记录
最近使用git的时候,由于在开始的时候,没有恰当的设置user.name和user.email变量,导致push到git的commit记录无法被正确匹配到我的账户。由于发现的比较完,几十条commit记录都给白费了,看这contributes板上大片的空白,还是相当的不甘心的。不过还好,git官方给出了弥补措施。 #!/bin/sh git filter-branch --env-fi
无法删除git远程分支的问题
当删除远程分支时,可能会出错以下的错误: $ git push origin :alpha remote: error: By default, deleting the current branch is denied, because the next remote: error: 'git clone' won't result in any file checked out, cau
基于Gerrit库的master分支创建tag并发布的过程详解
本文介绍基于Gerrit库的master分支创建tag并发布的过程。1.在Gerrit上检查是否已有相应的Access权限Reference: refs/tags/*Push Annotated Tag Push Signed Tag 2.从Gerrit获取默认的master分支到本地,并在本地创建annotated taggit clone ssh://myname@gerrit.server....
Git使用总结!
情景1:如何多人协作? 假若你已经clone了别人的仓库并且需要修改,最好的办法是建立自己的分支然后在合并,具体步骤如下: 1.建立一个自己的分支 git branch mybranch 此时可以使用git branch查看当前的分支情况,如不 出意外,则显示一个master一个mybranchi分支,而你当前在master分支上。 2.切换到新建的分支 git
去除多余的Merge branch提交
去除多余的Merge branch提交 在项目开发中,经常会有这样的情况发生,开发完了一个新功能,提交到远程仓库时,发现提交失败(其他同事已对其做了更改),先得pull最新代码再能提交。但这时会有一个恼人的冗余提交(Merge branch ......),如本地添加了一个file1,同时其他同事添加了file2并先行一步提交到远程仓库。等我提交时得先更新代码。这时项目提交历史就
使用Git中的Merge与Rebase与开源项目同步代码
基于开源项目的开发有两种主要工作模式。模式1是在从开源项目中拉出一个分支,在这个分支中开发新feature,完成后合并到upstream中。适用于本身是开源项目的developer。模式2是从开源项目中拉出分支后独立发展,但定期从upstream拉更新(如重要版本升级时)。无论是哪种,都会面临本地分支与upstream同步代码的问题。为此,git主要提供了两种方式:一种是merge, 一种是rebase。下面通过例子简单过一下它们的基本流程。
github上的版本和本地版本冲突的解决方法
情景: 在github上创建项目,然后本地git init 然后没有git pull -f --all 然后git add .  | git commit -am "init" 导致github上的版本里有readme文件和本地版本冲突,下面给出冲突原因: [master][~/Downloads/ios] git push -u origin master Usern
Git入门——分支的基本使用与'合并'、'多人协作'常遇到的问题
1.基础概念与方法借用廖雪峰老师的形象的例子: 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 一般来说,分支是不仅仅只有主分支的, master分支是主分支,因此要时刻与远程同步;
git 如何把本地文件push到gitlab(remote)上
git add . #将文件加入stage area git commit  -m “ 提示信息”#提交文件,同时提示输入commit message git push -u origin master #push到远程仓库,同时设置跟踪分支,下次push的时候,直接输入git push就醒了,系统会自动用本地master分支跟踪远程master分支               $:gi
Git学习 <day7>-同步新分支到自己的github
我在Github上fork了一个名为Telkom的项目,因为主人的github上当前只有master,dev,test三个分支,因此我fork完了之后,我的github也只有master,dev,test三个分支。 随后主人又创建了testA,testB,testC三个分支,我如何把这新创建的三个分支同步到我的github中去呢?方式一:重新fork点击Setting按钮,在打开的页面底端可以看到
Git入门指南十一:Git branch 分支与合并分支
十五. Git branch 分支 查看当前有哪些branch bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch * master 新建一个branch xm2.x bixiaopeng@bixiaopengtekiMacBook-Pro xmrobotium$ git branch xm2.x 切换到
Git 创建与合并分支
在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。 一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定
远程分支已经不存在的解决办法
On branch feature/20180104_1709631_deletenotuse_1 Your branch is based on 'origin/feature/20180104_1709631_deletenotuse_1', but the upstream is gone. 1)新建出新的分支  [new branch]      feature/201801