相关疑难解决方法(0)

Github:恢复后忽略的更改(git cherrypick,git rebase)

假设我有两个分支AB

(A)--------(A+B)--------------(A+B+R)
 \        / merge   \ revert  /
  \      /           \       /
 (B)----(B+)         (R)----
Run Code Online (Sandbox Code Playgroud)

首先,我将分支合并BA,然后我使用 GitHub 的恢复功能恢复了合并请求。

现在,当我在分支上修复一些代码B并需要A再次合并时,几乎所有更改(我修复的新更改除外)都将被忽略。我怎样才能再次获得更改?

git github

4
推荐指数
2
解决办法
2808
查看次数

Git Rebase -> 为什么在拉取时会合并?

我创建了一个分支来开发新功能。由于这个新功能完全是作为一个新项目开发的,唯一可能的冲突来源是解决方案文件。

随着功能的开发,主分支更新了几次。当我完成开发和测试时,我做了:

git checkout master
git fetch
git pull
git checkout myFeature
git rebase master
Run Code Online (Sandbox Code Playgroud)

变基(和所有其他命令)运行良好,没有报告任何冲突/错误/问题。我的下一步是,git status结果是:

在分支 myFeature
你的分支和 'origin/myFeature' 有分歧,分别有 7 和 5 个不同的提交。(使用“git pull”将远程分支合并到你的分支中)

当我git pull打开合并并查看历史记录时,我的提交被重复了。在我看来,这种重复是不应该发生的。我期待我的提交应该在最后一次(当前)提交后重新应用。

我做错了什么还是我的期望是错误的?

git rebase git-rebase

3
推荐指数
1
解决办法
576
查看次数

如何覆盖远程Git仓库?

我有一个本地项目(我是唯一一个从事该项目的人)。我开始使用本地 Git 存储库,但希望使用 GitHub 在云中拥有备份副本,以防止我的 PC 发生故障和/或让其他人处理代码。

我一直在“主”分支上工作,但后来决定我需要一个“开发”分支,因此“主”是一个安全的最新版本(“开发”上开发的新功能除外)。

我曾尝试单独为 main 创建存储库,但遇到了很多错误;“git Push origin master”返回时出现错误 - 通常(或最经常)警告我我的提示领先于“master”上的提示。然而,可能运气好(或盲目遵循说明)让“develop”分支存在于远程存储库上,并且能够将最新版本的“develop”推送到 GitHub。

但是,我无法让主人以同样的方式工作。

如何强制覆盖远程仓库?我希望它显示的是远程完整的提交历史记录,并不断更新两个分支。

万一重要的话,GitHub 强迫我去 2FA...我必须生成一个 SSH 密钥并将其用作我的密码,但它工作得很好。

所以我正在寻找一种 git 方法,它的伪代码(我知道这是错误的)看起来像这样:

git push origin master --override 
Run Code Online (Sandbox Code Playgroud)

如何将 master 分支的远程存储库清零,然后重新启动它以便调出 master 分支中的所有提交和文件?

git github

1
推荐指数
1
解决办法
482
查看次数

“git push --force-with-lease”的短标志?

我已经开始使用git push --force-with-lease而不是--force在大多数情况下用于额外的分支保护:

我什至可以尝试将此选项设置为默认选项,如下所述:

但使用时的主要烦恼--force-with-lease是输入该标志的尴尬措辞和冗长语法。

Git--force-f标志更短并且更容易键入,但不提供额外的安全性。


是否有缩写形式--force-with-lease,例如--fwl

  • 如果没有,是否有原因没有添加?更方便的标志似乎会增加更安全功能的采用。git 的创建者是否讨论过这个问题?

如果默认情况下不存在这样的标志,我如何在自己的计算机上创建这样的标志或别名?

git command-line-interface git-push

1
推荐指数
1
解决办法
1379
查看次数

更改整个 git 分支历史以匹配另一个分支的历史

假设我有 2 个分支,develop并且p3(生产 3)。

无论 上的任何提交历史如何p3,我都想让p3 的整个提交历史现在与 develop 的提交历史完全匹配

p3试图与 保持同步develop,但人们不断地将测试分支合并到.p3develop

我如何制作p3match的整个提交历史,develop以便我可以调用以下内容?

git push --force-with-lease origin p3
Run Code Online (Sandbox Code Playgroud)

git

1
推荐指数
1
解决办法
127
查看次数