我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。

我如何解除那些承诺?当地当地仓库?


当前回答

你总是可以做一个git checkout <SHA code>前一版本的版本, 然后再次承诺使用新代码 。

其他回答

另一种方式:

检查您想要返回的分支, 然后将本地工作副本重置到您想要在远程服务器上成为最新一份的承诺( 它将在离别后进行的一切) 。 要做到这一点, 请在 SupportTree I右键点击并选中的“ 重置 BranchNAME 以进行此承诺 ” 。

然后导航到仓库的本地目录并运行此命令 :

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v -f --tags REPOSITORY_NAME BRANCHNAME:BRANCHNAME

这将删除您本地仓库中当前一个后的所有承诺, 但只删除该分支 。

我很久以前也曾写过这些话,

如何删除/ 反转 Git 承诺

基本上,你只需要做:

git log,获得 SHA hash 的前七个字符,然后做一个git revert <sha>和继 继 继 继 继 继git push --force.

您也可以使用 Git 返回命令恢复此命令如下:git revert <sha> -m -1时和时git push.

要重置上一个修订版, 请永久删除所有未承诺的更改 :

git reset --hard HEAD~1

你总是可以做一个git checkout <SHA code>前一版本的版本, 然后再次承诺使用新代码 。

主要设想有两种情况:

你还没推动承诺呢

如果问题在于您所做的额外文件( 而您不希望存储库中的文件), 您可以使用git rm并且实践,--amend

git rm <pathToFile>

您也可以以下列方式删除整个目录-r,或甚至与其他巴什命令命令

git rm -r <pathToDirectory>
git rm $(find -name '*.class')

删除文件后, 您可以执行-- amend -- 修正 -- 修正选项选项选项

git commit --amend -C HEAD # the -C option is to use the same commit message

这将重写您最近的本地承诺删除额外文件, 因此, 这些文件将不会被按键发送, 并且 GC 将会从您本地的. git 仓库中删除 。

您已经推进了任务

您可以对其它情景应用相同的解决方案,然后做git push和和-f选项选项,但它是未建议因为它以不同的变化(它会破坏你的仓库) 推翻了遥远的历史。

相反,你必须做承诺--amend(记住关于 - amend : 该选项重写上次承诺的历史) 。