最近我在一个名为" dev"的分支机构做了一些工作。并且需要开始一些新的举措,所以我创建并改为分支" dev-crud"在确保所有内容都是最新的" dev"在离开之前 - 即,git状态显示我是最新的,没有列出任何项目。在" dev-crud"做了一些工作之后我没有做任何事情,我转而回到" dev"并且惊讶地发现它在" dev-crud"中意识到我的工作,即:
$ git checkout dev
M MDSCommitteeWS.iml
M pom.xml
M src/main/webapp/WEB-INF/web.xml
A src/main/webapp/edu/mayo/crud/Committee.java
A src/main/webapp/edu/mayo/crud/CommitteeCrud.java
A src/main/webapp/edu/mayo/crud/UtilityCrud.java
M src/main/webapp/edu/mayo/dbconnection/WSAction.java
Switched to branch 'dev'
Your branch is up-to-date with 'origin/dev'.
所以在" dev"当我决定在" dev?"中添加我的所有更改时,这些文件是否也将被添加?我是否应该在" dev-crud"在切换回" dev?"之前在这个时间点,我的目的是让他们成为两个独立的发展路线。谢谢!
答案 0 :(得分:0)
是的,如果你只是在git add . && git commit
中运行dev
,就会添加和提交它们。
虽然在切换到git add
之前可以git commit
和dev
,但这些更改不会应用于dev
,git stash
dev-crub
1}}更好。它使工作树保持干净并存储更改。如果您希望在返回dev-crub
后重新获得这些更改,请运行git stash apply
(保留最后一个存储)或git stash pop
(删除最后一个存储)以恢复更改。< / p>
Git还允许您将两个或多个分支签出到单个文件夹中,因此您不必在同一目录中来回切换。在git worktree
的帮助下,您可以节省很多。
git worktree add <some-other-path> dev
如果some-other-path
不存在,则会创建dev
,并在那里检查some-other-path
的代码。您可以在dev
中运行git命令来操作git worktree
。 {{1}}是一个相对较新的功能,因此旧版本的Git不支持它。