C# 为什么不';当我从一个分支切换到主分支时,我的项目中的文件不会改变吗?

C# 为什么不';当我从一个分支切换到主分支时,我的项目中的文件不会改变吗?,c#,visual-studio,git,C#,Visual Studio,Git,我在项目中创建了一个新的git存储库: git init git add -A git commit -m 'init' 然后我创建了一个分支: git checkout -b 'test1' 然后我转到一个文件并更改了一些内容,然后切换回master: git checkout master VS.NET没有说它将重新加载文件,我关闭了解决方案并再次打开它,我在test1分支中进行的更新仍然存在,即使我现在在主分支中 我缺少什么?除非您提交了更改的文件,否则更改还不属于任何特定的分支-这

我在项目中创建了一个新的git存储库:

git init
git add -A
git commit -m 'init'
然后我创建了一个分支:

git checkout -b 'test1'
然后我转到一个文件并更改了一些内容,然后切换回master:

git checkout master
VS.NET没有说它将重新加载文件,我关闭了解决方案并再次打开它,我在test1分支中进行的更新仍然存在,即使我现在在主分支中


我缺少什么?

除非您提交了更改的文件,否则更改还不属于任何特定的分支-这允许您进行更改,然后决定要将其提交给哪个分支


如果您在test1分支中提交了更改,然后更新到主分支,则文件将更改回原始版本。

除非您提交了更改的文件,否则更改还不属于任何特定分支-这允许您进行更改,然后决定要将其提交到哪个分支


如果您在test1分支中提交了更改,然后更新到主分支,则该文件将更改回原始版本。

Git不会覆盖您编辑的文件,因为它正在“跟踪”,除非您提交了这些更改。i、 e.git知道您已经编辑了它,所以就原样保留了它,因此VS不会给出任何警告,因为就它而言,什么都没有发生。这是我的理解。

Git不会覆盖您编辑的文件,因为它正在“跟踪”,除非您提交了这些更改。i、 e.git知道您已经编辑了它,所以就原样保留了它,因此VS不会给出任何警告,因为就它而言,什么都没有发生。这就是我的理解。

看看
git checkout-f
git checkout HEAD-。
git stash
git reset
,看看哪些操作对索引起作用,哪些操作影响工作树。我的工作重点通常是git隐藏,因为它的破坏性/危险性较小。但是,如果您知道自己在做什么,那么使用
git reset--soft/--hard
会非常舒服。请查看
git checkout-f
git checkout-HEAD--.
git stash
git reset
,查看哪些操作对索引起作用,哪些操作会影响工作树。我的工作重点通常是git隐藏,因为它的破坏性/危险性较小。但是如果您知道自己在做什么,那么使用git reset--soft/--hard