如何用master更新本地仓库?

时间:2014-11-18 01:00:26

标签: git svn github

我习惯使用SVN,最近才切换到GitHub。

我正在尝试更新GitHub仓库中的一些文件,但我收到此消息:

To https://github.com/.../
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/.../'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我尝试了git fetch origingit pull之类的命令,但这些命令都没有,所以我当前的分支并没有落后。

在SVN中我只做svn update然后提交我的更改。

我还试过了git pull origin,但是我收到了一条奇怪的短信,我不知道如何与它进行交互:Updating a local repository with changes from a Github repository

2 个答案:

答案 0 :(得分:21)

1)检查您当前的分支

  

<强> git branch

它将使用星号(*)显示您当前的分支名称。

2)然后使用远程分支更新本地分支

  

git pull origin branchname (这是带星号的分支名称)

3)现在,如果您已经提交了本地更改,则可以将代码推送到远程仓库。

  

<强> git push origin branchname

如果您尚未提交,请先执行提交,然后执行git 提取推送

答案 1 :(得分:4)

当你拉动时,git打开编辑器是正常的。这是因为您合并了从远程到本地分支的更改。

当你拉动时,git会检测是否需要将本地分支与远程分支合并。如果需要合并,它将执行此操作并为您提供为合并提交编写自定义消息的机会。此时,您可以选择关闭编辑器,git将完成该过程。

基本上,你所要做的就是关闭编辑器,你就完成了。

基本上,git正在执行以下操作:

#Download all the commits from the remote
git fetch origin

# Merge in the commits from the remote to your local branch
# If anything needs merging, this will open a text editor
git merge origin/master master