我已经将一个git仓库克隆到我的开发服务器上,然后切换到dev分支,但现在我无法使用git pull命令更新分支。
我该如何在服务器上更新代码?
请查看git-pull手册页:
git pull [选项] [<仓库> [<参考规格>...]]
在示例部分中:
将远程分支next合并到当前分支:
$ git pull origin next
因此我想你想要做类似以下操作:
git pull origin dev
如果你想在开发分支上默认执行此操作:
git branch --set-upstream-to=origin/dev dev
--set-upstream
" 标志已被弃用并将被移除。建议使用 "--track
" 或 "--set-upstream-to Branch dev
" 来设置跟踪来自 origin
的远程分支 "dev
"。例如:git branch --set-upstream-to origin/dev
。 - Nagendra Rao以下是您需要做的。首先确保您位于不想拉取的分支中。例如,如果您有主分支和开发分支,并且您正在尝试拉取开发分支,则请留在主分支。
git checkout master
那么,
git pull origin develop
git checkout develop
和git pull origin develop
,操作成功。如果你想移除一个本地或远程分支,你需要切换到其他分支(git branch -d develop
或 git push origin --delete develop
)。请注意,删除分支可能会对代码库产生影响,请谨慎操作。 - ChesuCR如果您想从特定分支拉取,您需要做的就是:
git pull 'remote_name' 'branch_name'
注意:确保您先提交您的代码。
通常将 git pull
所做的两个操作分开更清晰。 它首先更新与远程分支对应的本地跟踪分支。可以使用 git fetch
完成此操作。其次,它会合并更改,当然也可以使用git merge
来完成,不过其他选项例如 git rebase
有时也很有用。
这里是获取特定或任何分支的步骤:
1. 克隆主分支(您需要提供用户名和密码)
git clone <url>
2. 上述命令将克隆存储库,并且您现在将成为主分支
git checkout <branch which is present in the remote repository(origin)>
3. 以上命令将切换到您想要拉取的分支,并自动设置为跟踪该分支
4. 如果出现某些原因导致它不能按照预期工作,在本地系统中检出该分支后,只需运行以下命令
git pull origin <branch>
Laravel文档示例:
git pull https://github.com/laravel/docs.git 5.8
基于命令格式:
git pull origin <branch>
对我来说,这个方法完美地运行了,尽管获取所有分支可能有些过多:
git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch --all
git checkout develop
git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch origin develop
git checkout develop
git pull origin <branch-name>
上述命令将从指定的分支名称进行更新/拉取操作。
如果你想要从另外一个分支进行拉取操作,你需要切换到那个分支。
git checkout master
Than
git pull origin development
希望这对你有用
git-pull - 从另一个存储库或本地分支获取并集成
git pull [选项] [<存储库> [<refspec>...]]
您可以参考官方 git 文档 https://git-scm.com/docs/git-pull
例如:
git pull origin dev
git fetch --all
和--allow-unrelated-histories
,可以完美地解决问题。git clone https://github.com/xxxxxxxx
git remote add origin https://github.com/xxxxxxxx
git fetch --all
git pull origin devop --allow-unrelated-histories
在这一点上,我遇到了一些冲突,但通过新的提交已经解决了。
最后
git push -u origin devop
git pull my_branch
替代git fetch my_branch + git checkout my_branch
的问题,结果发现这会抛出fatal: my_branch does not appear to be a git repository \n fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
如果你想将另一个分支合并到已经检出的分支中或者更新已经检出的分支,你只能使用pull
。 - questionto42