git同步远程仓库分支

转载于:https://www.jianshu.com/p/811b07b129e8

git命令

何谓同步远程分支?有两种情况,

1.本地有新分支,远程仓库没有。
    
2.远程仓库有新分支,本地没有。

3.本地删除了分支,远程也想删除。

4.远程删除了分支,本地也想删除。

第一种情况很好解决,将本地分支推送到远程仓库即可。

本文主要讲解后面几种情况的解决办法。


1.第二种情况:远程仓库有新分支,本地没有。

这在之前我先介绍几个命令。

1.将某个远程主机的更新,全部取回本地:git fetch

2.查看远程分支:git branch -a

3.查看本地分支:git branch

4.切换分支:git checkout 分支

熟悉了以上命令,接下来我们通过一个例子来讲解第二种情况的解决办法。

假如我本地有个git仓库,别人推送了一个新分支到远程仓库,我要获取这个分支到本地,该怎么办?

1.我需要git branch查看一下本地分支,再git branch -a查看一下远程分支,对比下,远程存在哪些本地没有的新分支。但发现,本地和远

程的一样。奇怪,在远程仓库(gitlab/github)明明看到了新分支啊。 

原来现在本地上的现在的远程分支记录是克隆仓库时当时的分支记录。所以我需要

1.首先将某个远程主机的更新,全部取回本地:git fetch

2.再次查看远程分支:git branch -a 发现远程的分支已经可以看见了。

3.然后拉取远程分支到本地:git checkout -b 远程分支名 origin/远程分支名

注:直接克隆整个仓库,可以直接使用git checkout 分支名切换到分支。因为克隆时候已经有远程所有的分支记录。但若之前已经克隆过,后来其他电脑新push一个分支,此时是无法切换到新分支的。使用上述命令可拉取最新分支(原理是在本地新建一个分支和远程分支关联起来)


2.第三种情况:本地删除了分支,远程也想删除。

这在之前我先介绍几个命令。

1.删除远程分支: git push origin -d 分支名

2.删除本地分支: git branch -d 分支名

熟悉了以上命令,接下来我们通过一个例子来讲解第三种情况的解决办法。

假如我在本地想要删除某个分支,我也想把远程仓库的这个分支也要删掉怎么办?

1.使用git branch -d 分支名来删除本地分支。
2.使用git push origin -d 分支名直接来删除远程分支。在次使用git branch -a,发现分支已经不存在了。

或者
1.使用git branch -d 分支名来删除本地分支。
2.最简单的解决办法就是直接到gitlab/github进行删除.

假如我只想把远程的删除掉怎么办?

1.使用git push origin -d 分支名直接来删除远程分支。此时删除的只是远程的分支,本地仍然存在

或者

1.直接到gitlab/github进行删除.

3.第四种情况:远程删除了分支,本地也想删除。。

这在之前我先介绍几个命令。

1.查看远程分支和本地分支的对应关系:git remote show origin  

2.删除远程已经删除过的分支:git remote prune origin

熟悉了以上命令,接下来我们通过一个例子来讲解第四种情况的解决办法。

假如我直接到gitlab/github删除了某个分支,我在本地使用git branch -a查看远程分支,依然存在并且可以切换使用。我本地也想把远程分支记录删除怎么办?

1.git branch -a查看远程分支,红色的是本地远程远程分支记录。

2.执行下面命令查看远程仓库分支和本地仓库的远程分支记录的对应关系:

  git remote show origin  

3.会看到:
 
 refs/remotes/origin/远程仓库已经删除的分支名              stale (use 'git remote prune' to remove)

 其中:

 Local refs configured for 'git push':  命令下面的分支是本地仓库的远程分支记录中仍存在的分支,但远程仓库已经不存在。

4.输入git remote prune origin来删除远程仓库已经删除过的分支

5.验证 git branch -a

  此时可以看到本地远程分支记录已经和远程仓库保持一致了。

 

### 在 IntelliJ IDEA 中关联并同步 Git 远程分支 在 IntelliJ IDEA 中,可以方便地将本地项目与远程仓库分支进行关联,并同步代码。以下是详细的操作说明: #### 1. 关联远程仓库 在开始操作之前,需要确保已经正确配置了项目的远程仓库地址。如果尚未设置或需要修改远程仓库地址,可以通过以下步骤完成: - 打开 IntelliJ IDEA 的菜单栏,选择 `VCS` > `Git` > `Remotes`[^2]。 - 在弹出的窗口中,添加或修改远程仓库 URL 和分支信息。 #### 2. 同步远程分支同步远程分支,首先需要拉取最新的远程分支列表: - 使用菜单 `VCS` > `Git` > `Fetch` 来获取远程仓库的所有分支信息[^1]。 - Fetch 操作不会自动合并更改到当前分支,仅会更新本地对远程分支的认知。 #### 3. 关联本地分支远程分支 如果需要将本地分支远程分支关联,可以执行以下操作: - 在 `Git Branches` 弹出窗口(快捷键:`Alt + Shift + C`)中,右键点击目标远程分支。 - 选择 `Checkout as...` 或 `New Branch`,创建一个新的本地分支并与远程分支关联[^1]。 #### 4. 推送本地分支远程 当创建了一个新的本地分支并希望将其推送到远程仓库时: - 使用菜单 `VCS` > `Git` > `Push`。 - 如果是第一次推送该分支,系统会提示设置远程分支关联关系。确认后,IDEA 会自动将本地分支远程分支绑定。 #### 5. 解决冲突 在同步过程中,可能会遇到合并冲突。IntelliJ IDEA 提供了内置工具来帮助解决这些冲突: - 当出现冲突时,IDEA 会高亮显示受影响的文件。 - 打开冲突文件,使用内置的合并工具手动调整代码。 - 解决冲突后,提交更改以完成同步过程。 #### 6. 查看提交历史 为了更好地理解代码变更,可以查看项目的提交历史: - 使用菜单 `VCS` > `Git` > `Show History`。 - 在历史记录中,可以浏览每次提交的详细信息,包括作者、时间戳和提交消息。 #### 7. 版本回退 如果需要撤销最近的提交,可以执行以下操作: - 使用菜单 `VCS` > `Git` > `Reset HEAD`。 - 注意,此操作可能会影响工作区内容,请谨慎操作。 ### 示例代码 以下是一个简单的示例,展示如何通过命令行关联远程分支(作为补充说明): ```bash # 添加远程仓库 git remote add origin <远程仓库URL> # 拉取远程分支 git fetch origin # 关联本地分支远程分支 git branch --set-upstream-to=origin/<远程分支> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值