2014-12-02 141 views
2

我目前正在尝试在我的工作流程中使用Git,并且想问一些我如何更轻松地完成这些更改。Git - 撤消更改

我通常会创建不同的分支来做一些事情,看看他们是否适合我。当我切换分支机构时,如何使用上次提交中的文件和文件夹保存我的工作目录?所以例如当我从branch_A切换到主工作目录时,我的最后一次提交的文件夹和文件在主分支中,或者当我切换到branch_B时,我的工作目录将全部来自branch_B中的最后一次提交等等。

+0

@AndrewC - 您所连结的重复来本身就是一种重复,再加上比我挂重复的,这是受保护的,而不是封闭的重复更新。 – ArtOfWarfare 2014-12-02 16:26:38

+0

@ArtOfWarfare - 你链接的副本是特定于未跟踪的文件('git clean'),另一个包含所需的步骤('git reset'和'git clean')。无论谁关闭它们,因为重复项目原本可能不会理解这种区别。 – 2014-12-02 17:34:18

回答

2

设置我的工作目录,直到我最后一次提交,所以基本上所有新的已记录文件和文件夹以及对现有文件的所有更改都不再存在。

要重置您的变化,这不COMMITED,正好碰上

git reset --hard HEAD 

恢复到上次提交。

我不知道如果我得到你的权利问题的第二部分,但我会尽量解释它:

如果你要保持你的更改,并且希望应用它们的另一个分支,它结合与Git stash

git stash save 
git reset --hard HEAD 
// do what you want to do and switch branches 
git stash pop 
+0

:谢谢你的回复。我的意思是第二部分是保留我在'testing'分支中做的任何更改或新文件,当我切换到另一个'testing'分支时,那些更改和未跟踪的文件不存在,因此我可以创建新的东西那里。所以基本上每次我的工作目录都会和我上次提交的一样。 – Lykos 2014-12-02 11:37:24

+0

您可以在当前分支上执行重置,然后使用'git checkout -b new_testing_branch'从当前的分支进行分支。 – 2014-12-02 11:47:00

+1

'git clean -f -d#删除未跟踪的文件' – CodingDefined 2014-12-02 11:54:13