在 Git 中将远程分支合并到本地分支
Kevin Amayi
2023年1月30日
2022年4月22日
本教程将通过克隆远程仓库并在本地更新更改来将远程 git 分支合并到本地分支。
通过克隆远程仓库并在本地更新更改,将远程分支合并到 Git 中的本地分支
我们将克隆一个包含两个分支的远程仓库,即 main
和 gh-pages
。
然后,我们将创建一个本地分支测试并更新远程分支 gh-pages
。在此之后,我们将拉取 gh-pages
中的远程更改并将它们合并到测试分支。
<!-- The command to use is -->
git clone <remote-repo-url>
<!-- From your terminal run -->
git clone https://github.com/KEVINAMAYI/AkanNameGenerator.git
输出:
Cloning into 'AkanNameGenerator'...
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), 2.38 MiB | 1.86 MiB/s, done.
使用下面的命令,我们将进入项目文件夹和可用分支列表。
<!-- get into project folder -->
cd AkanNameGenerator
<!-- List branches available -->
git branch -a
输出:
<!-- The asterix indicates we are on branch main -->
* main
remotes/origin/HEAD -> origin/main
remotes/origin/gh-pages
remotes/origin/main
接下来,我们将创建一个本地分支测试。
git branch test
然后,我们将切换到本地分支测试。
git checkout test
输出:
Switched to branch 'test.'
在合并到测试分支之前,我们通过运行此命令继续更新我们的 gh-pages
。
git fetch origin gh-pages
输出:
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), 726 bytes | 363.00 KiB/s, done.
From https://github.com/KEVINAMAYI/AkanNameGenerator
* branch gh-pages -> FETCH_HEAD
4a458ff..4edc95b gh-pages -> origin/gh-pages
更新后,我们合并远程分支 gh-pages
进行测试。
git merge origin/gh-pages
输出(如果分支 gh-pages
有任何变化):
Updating f25a425..4a458ff
Fast-forward
js/global.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
输出(如果分支 gh-pages
没有变化):
Already up to date.
在 Git 中通过跟踪和拉取远程仓库的变化将远程分支合并到本地分支
我们现在将克隆一个包含两个分支的远程仓库,master
和 gh-pages
。然后,我们将创建一个本地分支 another-branch
并将其设置为跟踪任何并拉取在远程 main
分支上所做的更改。
<!-- The command to use is -->
git clone <remote-repo-url>
<!-- From your terminal run -->
git clone https://github.com/KEVINAMAYI/AkanNameGenerator.git
输出:
Cloning into 'AkanNameGenerator'...
remote: Enumerating objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), 2.38 MiB | 1.86 MiB/s, done.
接下来,我们需要进入项目文件夹并通过以下方式列出可用的分支:
<!-- get into project folder -->
cd AkanNameGenerator
<!-- List branches available -->
git branch -a
输出:
<!-- The asterix indicates we are on branch main -->
* main
remotes/origin/HEAD -> origin/main
remotes/origin/gh-pages
remotes/origin/main
我们将创建一个本地分支 another-branch
。
git branch another-branch
我们将切换到我们的本地分支 another-branch
。
git checkout another-branch
输出:
Switched to branch 'another-branch'
然后,我们将分支设置为 another-branch
以跟踪远程 main
单元的更改。
git branch --set-upstream-to=origin/main another-branch
输出:
Branch 'another-branch' set up to track remote branch 'main' from 'origin'.
我们现在可以直接拉取远程分支 main
上的修改。
git pull
输出:
Merge made by the 'recursive' strategy.
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)