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

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


当前回答

以下是你需要做的。首先确保你在你不想拉的树枝上。例如,如果你有主分支和开发分支,你试图拉开发分支,然后留在主分支。

git checkout master

然后,

git pull origin develop

其他回答

以下是拉动特定分支的步骤,

1.克隆主机(需要提供用户名和密码)

       git clone <url>

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

       git checkout <branch which is present in the remote repository(origin)>

3.上面的命令将检出到您想要提取的分支,并将被设置为自动跟踪该分支

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

       git pull origin <branch>

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

git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch --all
git checkout develop


如果你想避免过多地获取所有内容,而只获取显式分支(在本例中是'develop'),那么下面的方法是有效的:

git init
git remote add origin https://github.com/Vitosh/VBA_personal.git
git fetch origin develop
git checkout develop

以下是你需要做的。首先确保你在你不想拉的树枝上。例如,如果你有主分支和开发分支,你试图拉开发分支,然后留在主分支。

git checkout master

然后,

git pull origin develop

区分git pull所做的两个操作通常更清楚。它所做的第一件事是更新与远程分支相对应的本地跟踪分支。这可以用git fetch来完成。其次,它会合并更改,这当然可以用git merge来完成,尽管其他选项(如git rebase)偶尔也有用。

在我的例子中,devp是更新的(或HEAD), Main是旧的(像20次提交),使用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