通过 GitHub 网站创建文件后缺少提交
Missing commits after creating files via GitHub website
我正在将一些新文件添加到我的一个相当大的存储库的分支中。但是,由于 git 遇到的一些问题,我不得不通过 GitHub 网站添加文件。回购所有者要求我将我的 5 次提交压缩为一次。不幸的是,我无法通过 GitHub 网站找到执行此操作的方法,因此我使用另一台计算机并从我的 fork 中提取代码。我试图通过 git rebase
做到这一点;但是,我的提交没有显示在日志中。为什么是这样?我是不是拉入代码的时候忘了做点什么?
你应该一直在一个分支上工作,并且已经在这个分支上请求了一个 pull request,现在甚至 master 也有这些提交。
但您可以执行以下操作:
git checkout master
git reset --soft COMMIT_NUMBER_BEFORE_YOU_STARTED_TO_WORK
- 这不会影响您的工作目录
- 这只会在您开始时倒带 HEAD
- 这样当你
git status
你会看到你所做的所有修改
git status
- 确保这些是您的修改
git checkout -b feature/my-feature
- 切换分支(我们不会在 master 上提交)
如果有未追踪的(不应该有):git add .
git commit -m "all modifications in one commit"
- 这样你就可以按照维护者的要求在一次提交中提供所有修改
- 并且这不在
master
上(好多了)
git push -u origin feature/my-feature
- 您将提交的分支推送到您的远程仓库
- 最后,您在该分支上请求拉取请求
feature/my-feature
合并将由维护者通过接受拉取请求来完成。之后,您必须检索该合并并将其注入您的 master 分支(这是为了以后) - 查看如何与 Github.
上的分支同步
我正在将一些新文件添加到我的一个相当大的存储库的分支中。但是,由于 git 遇到的一些问题,我不得不通过 GitHub 网站添加文件。回购所有者要求我将我的 5 次提交压缩为一次。不幸的是,我无法通过 GitHub 网站找到执行此操作的方法,因此我使用另一台计算机并从我的 fork 中提取代码。我试图通过 git rebase
做到这一点;但是,我的提交没有显示在日志中。为什么是这样?我是不是拉入代码的时候忘了做点什么?
你应该一直在一个分支上工作,并且已经在这个分支上请求了一个 pull request,现在甚至 master 也有这些提交。
但您可以执行以下操作:
git checkout master
git reset --soft COMMIT_NUMBER_BEFORE_YOU_STARTED_TO_WORK
- 这不会影响您的工作目录
- 这只会在您开始时倒带 HEAD
- 这样当你
git status
你会看到你所做的所有修改
git status
- 确保这些是您的修改
git checkout -b feature/my-feature
- 切换分支(我们不会在 master 上提交)
如果有未追踪的(不应该有):git add .
git commit -m "all modifications in one commit"
- 这样你就可以按照维护者的要求在一次提交中提供所有修改
- 并且这不在
master
上(好多了)
git push -u origin feature/my-feature
- 您将提交的分支推送到您的远程仓库
- 最后,您在该分支上请求拉取请求
feature/my-feature
合并将由维护者通过接受拉取请求来完成。之后,您必须检索该合并并将其注入您的 master 分支(这是为了以后) - 查看如何与 Github.
上的分支同步