如何将 git origin 更改为特定分支?
How can I change git origin to a specific branch?
我已经在 GitHub (3.x) 克隆了一个特定的分支,但是原点被自动设置到另一个分支 (2.x)。
我只想在 3.x 分支上工作(绝不是 2.x 分支)。我宁愿使用 git pull origin 而不是 git pull origin/3.x。
更改默认拉取位置的最佳方法是什么?
据我了解,您正在尝试更改 origin/branch
url 但没必要。只需针对您的问题检查两种不同的方法。
$ git clone https://github.com/somegreatpath/somegreatproject.git
$ cd somegreatproject
检查您此时使用的分支:
$ git branch
* 2.x
查看你想要的分支
$ git checkout -b 3.x origin/3.x
Branch 3.x set up to track remote branch 3.x from origin.
Switched to a new branch '3.x'
确认您现在正在使用所需的分支:
$ git branch
* 3.x
2.x
如果以后想再更新代码,运行 git pull
:
$ git pull
Already up-to-date.
您还可以更改 origin
。首先,检查当前遥控器 url:
$ git remote -v
* origin git@github.com:USERNAME/REPOSITORY.git (fetch)
* origin git@github.com:USERNAME/REPOSITORY.git (push)
设置新的url
$ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
验证遥控器 URL 是否已更改。
$ git remote -v
* origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (fetch)
* origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (push)
希望,这是帮助!
在这种情况下,"git pull origin" 无法拉取 3.x 分支,因为它不是远程仓库的默认分支。
经过一些实验,最好的解决方案竟然是这个(从父目录发出):
git clone -b 3.x --single-branch git@github.com:user/reponame.git your_subdirectory
这可以防止其他分支被克隆,并设置 "git pull" 自己,自动从远程 3.x 分支中提取。
它还消除了 "git pull origin" 或 "git diff origin" 的潜在错误(这将引用远程的默认 2.x 分支)。除非您引用已克隆的特定分支,否则这些命令不起作用。
我已经在 GitHub (3.x) 克隆了一个特定的分支,但是原点被自动设置到另一个分支 (2.x)。
我只想在 3.x 分支上工作(绝不是 2.x 分支)。我宁愿使用 git pull origin 而不是 git pull origin/3.x。
更改默认拉取位置的最佳方法是什么?
据我了解,您正在尝试更改 origin/branch
url 但没必要。只需针对您的问题检查两种不同的方法。
$ git clone https://github.com/somegreatpath/somegreatproject.git
$ cd somegreatproject
检查您此时使用的分支:
$ git branch
* 2.x
查看你想要的分支
$ git checkout -b 3.x origin/3.x
Branch 3.x set up to track remote branch 3.x from origin.
Switched to a new branch '3.x'
确认您现在正在使用所需的分支:
$ git branch
* 3.x
2.x
如果以后想再更新代码,运行 git pull
:
$ git pull
Already up-to-date.
您还可以更改 origin
。首先,检查当前遥控器 url:
$ git remote -v
* origin git@github.com:USERNAME/REPOSITORY.git (fetch)
* origin git@github.com:USERNAME/REPOSITORY.git (push)
设置新的url
$ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
验证遥控器 URL 是否已更改。
$ git remote -v
* origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (fetch)
* origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (push)
希望,这是帮助!
在这种情况下,"git pull origin" 无法拉取 3.x 分支,因为它不是远程仓库的默认分支。
经过一些实验,最好的解决方案竟然是这个(从父目录发出):
git clone -b 3.x --single-branch git@github.com:user/reponame.git your_subdirectory
这可以防止其他分支被克隆,并设置 "git pull" 自己,自动从远程 3.x 分支中提取。
它还消除了 "git pull origin" 或 "git diff origin" 的潜在错误(这将引用远程的默认 2.x 分支)。除非您引用已克隆的特定分支,否则这些命令不起作用。