1887得票14回答
如何撤销使用"git commit --amend"代替"git commit"的操作

我不小心修改了之前的提交。这个提交应该是独立的,以便保留我对特定文件所做更改的历史记录。 有没有办法撤销上一个提交?如果我执行类似于git reset --hard HEAD^的操作,第一个提交也会被撤销。 (我还没有推送到任何远程目录)

1612得票18回答
如何撤销多个Git提交?

我有一个Git仓库,看起来像这样:A <- B <- C <- D <- HEAD 我希望将分支的头指向A,也就是说,我想让B、C、D和HEAD消失,并且我想让head成为A的同义词。 听起来我可以尝试revert(不适用,因为我已经在中间推送了更改),或者回滚。但是如...

1543得票21回答
在推送后更改git提交信息(假设没有人从远程拉取)

我已经提交并推送了一个git提交。我想改变提交信息。如果我理解正确,这样做是不可取的,因为在我进行更改之前,有人可能从远程存储库拉取了。如果我知道没有人拉取过怎么办? 有没有办法做到这一点?

1118得票17回答
如何列出更改特定文件的所有提交?

有没有一种方法可以列出所有更改了特定文件的提交?

1111得票30回答
如何在Git中更改旧提交的时间戳?

如何修改已存在但未推送的提交信息?的答案描述了一种方式,可以修改尚未向上游推送的先前提交的消息。 新消息继承原始提交的时间戳。这似乎很合理,但是否有一种方法也可以重新设置时间?

1068得票7回答
如何将特定的提交推送到远程仓库,而不是之前的提交?

我已经在不同的文件上做了几次提交,但目前我只想将特定的提交推送到远程仓库。 这是否可能?

969得票8回答
如何修改提交记录而不改变提交信息(重复使用之前的信息)?

是否有一种方法可以修改提交内容,而不需要弹出 vi (或您的 $EDITOR)选项来更改提交消息,而只需重复使用先前的消息?

889得票10回答
只将修改过的变化添加到Git中,忽略未跟踪的文件。

我运行了"git status"命令,下面列出了一些被修改的文件或者在"未暂存的改动"这个部分中。它还列出了一些我想要忽略的未跟踪的文件(这些目录下有一个".gitignore"文件)。 我想将修改后的文件放入暂存区以便提交。当我运行"git add ."时,它添加了修改的文件和我想...

861得票3回答
如何将我当前的更改提交到Git的另一个分支

有时候我在工作目录中做了一些更改,然后发现这些更改应该提交到一个不同于当前分支的分支。通常这种情况会发生在我想尝试新功能或进行一些测试时,因为我忘记先创建一个新分支,但我不想将脏代码提交到主分支。 那么,我该如何将未提交的更改(或存储在索引中的更改)提交到与当前分支不同的分支?

741得票1回答
如何从旧的提交记录中创建一个新的Git分支?

可能是重复问题/一个更新的/不太清晰的问题 使用Git从先前的提交创建分支 我有一个名为jzbranch的Git分支,并且有一个旧的提交ID:a9c146a09505837ec03b。 如何根据上述信息创建一个名为justin的新分支?