我目前正在尝试学习在我的工作流程中使用Git,并想要询问一些问题,如何更轻松地完成它们。
通常我会创建不同的分支来进行一些操作,以查看它们是否适合我。当我切换分支时,如何保留我的工作目录及其中的文件和文件夹,以保持最后提交的状态?例如,当我从branch_A切换到master时,我的工作目录将具有master分支上最后提交的文件夹和文件,或者当我切换到branch_B时,我的工作目录将具有branch_B上最后提交的任何内容等等。
我目前正在尝试学习在我的工作流程中使用Git,并想要询问一些问题,如何更轻松地完成它们。
通常我会创建不同的分支来进行一些操作,以查看它们是否适合我。当我切换分支时,如何保留我的工作目录及其中的文件和文件夹,以保持最后提交的状态?例如,当我从branch_A切换到master时,我的工作目录将具有master分支上最后提交的文件夹和文件,或者当我切换到branch_B时,我的工作目录将具有branch_B上最后提交的任何内容等等。
如果您希望将工作目录恢复到上一次提交时的状态,即所有新的未跟踪文件及文件夹以及对现有文件的所有更改都将不再存在,则可以执行以下操作:
要重置未提交的更改,请执行以下操作:
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
git checkout -b new_testing_branch
命令从当前提交创建一个新的测试分支。 - Martin Seelergit clean -f -d # remove untracked files
- CodingDefined
git clean
这个命令中的未追踪文件,而另一个链接同时包含了需要的两个步骤(git reset
和git clean
)。最初关闭这些问题的人可能没有理解这两者之间的区别。 - Andrew C