小蚂蚁学习git(4)——多人协作、推送分支、拉取分支、解决冲突

接上篇(http://my.oschina.net/woshixiaomayi/blog/521706)继续

八、多人协作

当从远程库克隆的时候,实际上Git自动的把本地的master分支和远程的master分支对应了起来,远程库的默认名称是origin。

git remote    查看远程库的信息

git remote -v    查看远程库的详细信息

推送分支:

是把本分支上所有本地内容提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上,命令:

git push origin master

一般情况下,哪些分支需要推送呢?1,master分支是主分支,因此要时刻与远程同步。2,一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。

抓取分支:

场景:自己的同事clone了远程库testgit的dev分支,进行了修改,并且已经提交。自己也对testgit的dev分支,同样的文件做出来修改,并且尝试提交。

git push origin dev 可以看到在推送到远程库的时候发生了错误,error :failed to push some refs to ‘https://……‘,原因是,不同的人推送了同样的文件,修改同一个文件的同一个地方。这就造成了冲突,解决的办法也很简单,把远程库中的文件,拉下来,在本地进行合并,解决了冲突,再推送上去即可,命令:

git pull    把远程库中的文件拉到本地来。但是还是失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据命令下的提示,设置dev和origin/dev的链接,命令:

git branch --set-upstream dev origin/dev    指定本地dev分支和远程origin/dev的链接

然后继续拉下来 git pull,下方的提示:Merge conflict in readme.txt 可见还是有冲突的。老办法,进行手工修改,完成后,推送:

git push origin dev    然后就成功了。

多人协作的工作模式:

1,可是试图用 git push origin <branch-name> 推送自己的修改

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

3,如果合并冲突,这需要解决冲突,并在本地提交,再使用 git push origin <branch-name>推送。

时间: 2024-10-10 17:01:52

小蚂蚁学习git(4)——多人协作、推送分支、拉取分支、解决冲突的相关文章

rsync内网服务器 推送和拉取公网代码配置

一.    在 web(web安装rsync就行不需要配置rsyncd.conf) .web_bak 安装 rsync(web在/var/www/html/下更新信息,在wen_bak的/var/www/html/下跟着更新所有数据) IP:192.168.1.80是源服务器就是服务端(yum安装rsync就行,不需要配置),192.168.1.81是目的服务器就是客户端(yum安装rsync,还要配置/etc/rsyncd.conf). [[email protected] ~]# yum -

rsync服务实现推送,拉取

1.简介 rsync是一款远程数据同步工具,一个Rsync server能够同时备份多个客户端数据,需要scp,ssh,daemon的支持,默认端口为873. rsync + crond 可以实现数据定时同步,rsync + inotify可以实现数据的实时同步. 工作中的Rsync服务最好以只读方式提供要备份的数据,避免造成误操作. 2.实验环境介绍 两台CentOS6.3 x64   测试机,一台server,一台client.系统已经默认安装了rsync软件. 3.Rsync命令格式及命令

rsync推送和拉取

rsync格式: # 拷贝本地文件.当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式.如:rsync -a /data /backup rsync [OPTION]... SRC DEST # 使用一个远程shell程序(如rsh.ssh)来实现将本地机器的内容拷贝到远程机器.当DST路径地址包含单个冒号":"分隔符时启动该模式.如:rsync -avz *.c foo:src rsync [OPTION]... SRC [US[email

解决跟Docker私有仓库登陆,推送,拉取镜像出现的报错

出现问题:Error response from daemon: Get https://192.168.186.120/v1/users/: dial tcp 192.168.186.120:443: getsockopt: connection refused http: server gave HTTP response to HTTPS client 出现这问题的原因是:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是H

小蚂蚁学习git(2)——Git撤销修改和删除,远程仓库的创建推送和克隆

接上篇(http://my.oschina.net/woshixiaomayi/blog/521265)继续写. 四.Git撤销修改和删除 1.撤销修改 场景:在readme.txt中添加了一段话"今天天气不错".在还未提交之前,发现这句话写的不对,那么有一下几种方式修改:1.直接动手删除掉那些错误的内容,然后再用add添加到暂存区,在commit提交到分支.2.按照上一篇所讲到的使用命令 git reset -hard  HEAD^ 回退到上一个版本.除了昨天说的这两个方法之外,还有

版本控制git之三-多人协作

如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 `git clone` 命令. 如果你对其它的 VCS 系统(比如说Subversion)很熟悉,请留心一下你所使用的命令是"clone"而不是"checkout". 这是 Git 区别于其它版本控制系统的一个重要特性,Git 克隆的是该 Git 仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件. 当你执行 `git clone` 命令的时候,

git 学习小记之记住https方式推送密码

昨天刚刚学了点git基础操作,但是不幸的是[email protected]给出公告说尽量使用 https 进行操作.可是在用 https 进行 push 时,都需要输入帐号和密码. 各种百度谷歌之后在[email protected]官网找到了解决方法<https方式使用[email protected]设置密码的方式>文中给出了几个方法,并且都非常简单. 关于 cache 缓存方式,我不太喜欢,因为要设置时间,而且会过期.而 store 相应的非常方便,设置全局后,方便多个库使用.当然如果

git与github的文件推送

第一步:安装git 一切next完成之后 回到我们桌面 点击右键 出现了下图的两个图标 说明安装成功了 第二步:点击我们的git Bash Here 进入命令行 完成一下我们的配置 git config --global user.name"你的用户名" git config --global user.email"你的邮箱号" 设置好后 可以通过命令git config -l (这是字母l)查看我们刚才设置的参数 第三步:创建版本库  可以在你的电脑任何创建一个文

git分支拉取

假设你已经配置好了各种SSH Key之类并熟悉基本的git创建分支.提交分支命令.比如共有2个分支,自己在一台未配置origin电脑上想要拉取某个分支(dev)到本地.步骤如下:1.新建git项目 与远程库连接 2,我们需要:git fetch origin dev 命令来把远程分支拉到本地 3,然后使用:git checkout -b dev origin/dev在本地创建分支dev并切换到该分支 4,最后使用:git pull origin dev就可以把某个分支上的内容都拉取到本地了 第二