Git学习文档之一 学习文档-上传下载

##上传下载

###如何上传(推送数据到远程仓库)

项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库。实现这个任务的命令很简单: git push [remote-name] [branch-name]。如果要把本地的 master 分支推送到 origin 服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行下面的命令:

$ git push origin master

只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。

###如何下载(抓取远程仓库数据到本地仓库)

别人往远程仓库中提交了若干更新,如何将别人的更新拉取到我们的本地呢?可以使用

$ git pull [远程仓库链接]

这样就可以从远程仓库自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。

###解决冲突

如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回,此时,我们需要先使用 git pull 将远程仓库的更新抓取下来,但是如果他们修改的和你的是用一个文件的同一块区域的话,使用 git pull 会提示有冲突:

$ git pull
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.

然后我们可以使用 git status 命令查看是哪些文件产生了冲突,然后直接编辑冲突文件即可。

修改完冲突文件之后,使用 git add 将文件添加到暂存区,表示文件冲突已经解决。

最后再使用 git commit 命令提交修改,然后就可以再用 git push 推送到远程仓库中了。

###避免冲突

  1. 一般clone下来之后,只有默认的一个master分支,我们不应该直接在这上面工作,而是另外开一条专门用于开发的分支出来: git checkout -b dev 然后就可以安心地在这个dev分支上工作了

  2. 确保你修改的代码都是自己负责项目下,或者说你的两次提交之间,没有其他人来改相同项目下的代码

  3. 在dev上开发完毕之后,切换回master分支:git checkout master ,拉取远程仓库的更新:git pull origin master,然后再 git merge dev 将dev分支合并到master,最后就可以 git push 将更新推送到远程仓库了,如果此时还没有人往远程仓库提交更新,命令会如期执行,否则出现冲突的话,就再按上面解决冲突的步骤处理冲突了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值