git - Git 从其他 repo 中提取并将更改推送到当前 repo
问题描述
我正在尝试从中获取pull
内容Repo1
并将这些内容推送到RepoX
.
以下是我到目前为止使用的命令,
git remote add Repo1 [repo1 url]
git pull Repo1 feature/branceName
使用上述命令,我可以成功地将内容Repo1
从RepoX
.
这里的问题是,当我查询时,git status
它显示以下消息:
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
Git 没有显示我从中提取的内容Repo1
。如何将内容推送到RepoX
?
解决方案
如果您指的是遥控器而不是分支,请考虑这就是您的示例所显示的内容。
将两个遥控器添加到您的存储库
注意:每个遥控器都有自己的分支。两个遥控器之间的首选同步方法可能是 Fork,而不是手动完成这项工作。
git remote add Repo1 [repo1 url]
git remote add Repo2 [repo2 url]
从一个远程签出一个分支
git checkout Repo1/master
这意味着您从本地的一个远程提取更改。
将分支推送到另一个远程
git push Repo2/master
如果您在两个遥控器上的历史记录不同,很遗憾您需要强制推送。
git push -f Repo2/master
替代解决方案
作为替代方案,您可以将 git 配置设置为始终从一个远程拉取,并推送到另一个远程。请注意确定这是否有意义,但可以注意此选项存在。
添加两个遥控器后,您的主遥控器将自动设置为推送和拉取。您可以使用以下命令覆盖推送配置:
git remote set-url --push Repo2 [repo2 url]
如果您真的在谈论分支,那么情况要简单得多,具体取决于您的需要。您可以将 branch1 合并到 branch2 或对其进行变基。
合并
git checkout branch1
git pull
git checkout branch2
git pull
git merge branch1
这将从两个远程分支中提取所有更改并将分支 1 合并到分支 2 中。这是通过包含所有更改的合并提交完成的。
变基
如果您希望将特定提交也拉入您的分支,那么您需要使用 rebase。
git checkout branch1
git pull
git checkout branch2
git pull
git rebase branch1
这将包括从 b1 到 b2 的所有单独提交,而不是合并提交。
推荐阅读
- python - 从另一个目录导入文件
- javascript - 使用唯一键合并数组
- ruby-on-rails - ActionController::UrlGenerationError: 没有路由匹配 {:action=>"index", :controller=>"api/v1/topics", :format=>:json}
- ios - 如何使用 ARCamera 的投影矩阵去歪斜图像?
- javascript - Node.js - 来自 ajax 端点的有序 JSON 数据顺序错误,缓存不是问题
- php - 从其他 2 个变量创建一个 PHP 变量
- ios - 如何在 UICollectionViewCell 中使用 AVPlayer 平滑滚动
- android - 如何让其他应用接管麦克风访问权限?
- swift - WKWebView:尝试打开 .docx、.pages 等时的奇怪行为
- java - 如何合并 2 个 ByteBuf?