git - 从特定的分支拉

Ale*_*lex 169 git

我已经克隆了一个git存储库到我的开发服务器,然后切换到开发分支,但现在我不能做一个git pull来更新分支.

如何更新服务器上的代码?

Cas*_*bel 225

请参阅git-pull手册页:

git pull [options] [<repository> [<refspec>...]]

在示例部分:

然后合并到当前分支的远程分支:

$ git pull origin next

所以我想你想要做的事情如下:

git pull origin dev
Run Code Online (Sandbox Code Playgroud)

要进行设置,以便在启动分支时默认执行此操作:

git branch --set-upstream-to dev origin/dev
Run Code Online (Sandbox Code Playgroud)

  • "`set-upstream`标志已被弃用,将被删除.考虑使用`--track`或`--set-upstream-to Branch dev`设置来跟踪来自原点的远程分支dev.例如.`git branch --set-upstream-to origin/dev` (5认同)

the*_*tar 37

这是你需要做的.首先要确保你在分支中,你不想拉.例如,如果您拥有master并开发分支,并且您正试图拉动开发分支,那么请留在master分支中.

git checkout master
Run Code Online (Sandbox Code Playgroud)

然后,

git pull origin develop
Run Code Online (Sandbox Code Playgroud)

  • 这令人困惑.如果我想将一个远程"dev"分支拉入本地"dev"分支,我认为你需要留在本地"dev"分支而不是任何其他分支. (3认同)
  • 这不是获取远程开发分支,然后将其与本地主机合并吗? (2认同)
  • 我做了`git checkout develop`和`git pull origin develop`并且运行良好。如果要删除本地或远程分支,则需要签出其他分支(`git branch -d develop` 或 `git push origin --delete develop`) (2认同)
  • 很混乱。我刚刚将我想测试的分支合并到本地 master :) (2认同)

wno*_*ise 15

将两个动作分开通常更清楚git pull.它首先要做的是更新与远程分支对应的本地跟踪分支.这可以通过以下方式完成git fetch.第二个是它然后合并了变化,这当然可以完成git merge,尽管其他选项,例如git rebase偶尔有用.


小智 13

以下是拉取特定分支或任何分支的步骤,

1.clone master(需要提供用户名和密码)

       git clone <url>
Run Code Online (Sandbox Code Playgroud)

2.上面的命令将克隆存储库,您现在将成为主分支

       git checkout <branch which is present in the remote repository(origin)>
Run Code Online (Sandbox Code Playgroud)

3. 上面的命令会checkout到你要拉取的分支,并设置为自动跟踪那个分支

4.如果由于某种原因它不能那样工作,在您本地系统中签出该分支后,只需运行以下命令

       git pull origin <branch>
Run Code Online (Sandbox Code Playgroud)


Eri*_*cía 11

Laravel 文档示例:

git pull https://github.com/laravel/docs.git 5.8
Run Code Online (Sandbox Code Playgroud)

基于命令格式:

git pull origin <branch>
Run Code Online (Sandbox Code Playgroud)


Vit*_*ata 10

这对我来说非常有效,尽管获取所有分支可能有点太多

git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch --all
git checkout develop
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


如果您想避免拉动所有内容并仅获取显式分支(在本例中为“develop”)的过度杀伤力,则可以执行以下操作:

git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch origin develop
git checkout develop
Run Code Online (Sandbox Code Playgroud)

  • 为什么要获取--all?git fetch origin &lt;name_of_specific_branch&gt; 就可以了 (2认同)

Nik*_* K. 5

您可以在 git 分支上进行更新/拉取,您可以使用以下命令

git pull origin <branch-name>
Run Code Online (Sandbox Code Playgroud)

上面的命令将从给定的分支名称中获取更新/拉取

如果你想从另一个分支获取数据,你需要去那个分支。

git checkout master
Run Code Online (Sandbox Code Playgroud)

git pull origin development
Run Code Online (Sandbox Code Playgroud)

希望这对你有用


小智 5

如果你想从一个特定的分支中拉取,你所要做的就是

git pull 'remote_name' 'branch_name'
Run Code Online (Sandbox Code Playgroud)

注意:确保首先提交代码。