2014-04-15 119 views
2

我要重新设计我的图形用户界面在Visual Studio C#。我正在使用Git的bash这个目的,因为我有我的所有工作提交日志。 我进入下面的命令编辑旧提交的混帐

git rebase -i HEAD~3 

然后我的记事本++编辑弹出,因为我配置that.Now我提交的消息,我会尽我的形式重新设计后的git向我展示了两个命令

前键入编辑
git commit --amend 
git rebase --continue 

我进入git commit --amend并再次将其打开了我的记事本+ +的形式,然后我打开Visual Studio的形式之后,我closd我的两个Visual Studio和记事本+ +和类型git rebase --continue重新设计的形式,但它并没有奏效。

所以我的问题是,在什么时间点,我应该让我的Visual Studio的形式变化?

回答

2

当重组暂停时,您应该进行更改。然后,像通常为提交一样添加这些更改(使用git add)。但不是将它们作为新提交提交,而是使用git commit --amend修改前一个提交。这将改变你正在编辑的提交。

之后,使用git rebase --continue继续基础重建和应用后提交。

+0

非常感谢你捅它它正在魔鬼身上。 –

+0

我面临的另一个问题是,在我从git bash中跟踪的visual studio中的示例项目TestForm中,无论何时使用cancel按钮打开或关闭我的visual studio项目,git status显示未跟踪文件TestForm.suo为什么?以及如何避免它? –

+1

'.suo'是由VisualStudio创建的一个用户特定的配置文件,用于跟踪一些不重要的设置(如打开的文件夹和东西)。你应该将它添加到你的'.gitignore'中,所以它不会被Git识别。 – poke

1

你应该做的更改之前的

git commit --amend 

,因为“修改”是指:采取改变,“修正”他们上次提交。既然你正在重新定位,这些更改将因此适用于您当时所在的提交。

总结:

  1. git的变基-i HEAD〜3(并选择 “编辑” 来编辑你想要的提交)
  2. 不要在Visual Studio中的更改或任何你想要
  3. git的承诺--amend
  4. git的变基--continue