【问题标题】:Pull Request Declined Now cannot see the earlier files with changes in git statusPull Request Declined Now 看不到早期文件的 git 状态变化
【发布时间】:2024-01-18 05:36:01
【问题描述】:

我在 Bitbucket 上提出了一个 PULL REQUEST,然后按照以下方法提交并推送我的更改到分支:

git status
git add ‘<file name>'
git stash
git fetch
git pull origin master
git stash list
git stash pop
git add ‘<file name>'
git status
git commit -m "message"
git push origin "<branch name>"

然后创建拉取请求以供审核。

但是,我推送了一些错误的文件。所以我拒绝了我的拉取请求,现在想提出新的拉取请求。

当我进入终端并输入 git status 时。它只显示一个文件。但是我想再次提交并推送所有文件,不包括错误的文件。

请帮助我,因为我是 git 进程的新手。

【问题讨论】:

    标签: git bitbucket pull-request


    【解决方案1】:

    git status 纯粹是本地的 - 它不与您的 repo 的任何其他实例通信。结果,它不知道你在 Bitbucket(或 GitHub,或 GitLab 等)上做了什么或没做什么。

    您最简单的解决方案可能是放弃“坏”分支并重新开始一个新分支。您仍然必须从 Bitbucket 中删除坏分支(在 Bitbucket 本身中执行此操作),否则您将拥有一个干净的状态。

    如果您出于某种原因希望保留现有分支,那么您可以恢复错误提交(git reflog,获取一个或多个错误提交的哈希值,git revert $HASH,照常继续)或重置分支到“良好”状态(git reflog,获取要回滚到的提交的哈希,git reset --hard $HASH,进行新提交,然后是 git push -f)。 Revert 将记录一个新的提交,以撤消坏的提交; reset 将回滚分支,使坏的不再存在,但 reset 也将撤消任何未提交的更改。 https://git-scm.com/docs/git-revert 提供了有关还原的更多详细信息,以及何时使用其他方法可能更好的一般指南。

    【讨论】:

    • 非常感谢吉姆!我创建了一个新的分支来解决它。请再问一个问题。现在我在新分支中并提交了更改并推送了它。但是,我需要进行更多编辑。之后我可以将这些新更改添加到同一个分支吗?或者再次需要创建一个新的。请告诉我在 git 中的逐步过程。
    • 是的,您可以继续向分支添加提交。随着时间的推移,每个分支都会偏离其他分支,但您可以通过 rebase 或合并来解决这个问题。
    • 好的,吉姆。感谢您的帮助和有用的信息。
    【解决方案2】:

    所以我通过创建一个新分支解决了我的问题。当我提交更多更改时,我只是拒绝了旧的拉取请求并提出了一个新的请求,因为再次提交的更改进入了同一个分支。所以我的问题得到了解决。谢谢!

    【讨论】:

      最近更新 更多