eff*_*ffe 2 git git-flow atlassian-sourcetree
我是 git 新手。
我遵循 git-flow 分支模型,所以我有分支 master 和 develop ,每次我需要一个新功能时,我都会打开一个新的功能分支。
我对功能分支中的几个文件进行了一些更改,并暂存了它们,但尚未提交,因为这些更改尚未经过测试:
$ git status
On branch feature/ParamConfigFaultCollection
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: IOLSE_User_Objs.h
modified: data.c
Run Code Online (Sandbox Code Playgroud)
现在我需要在分支开发上工作,所以我切换到它,我使用 Sourcetree 作为 git GUI 并双击开发:

并且我希望开发人员看不到功能分支上隐藏文件中的更改,但似乎这些更改也存在于开发中:
$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: IOLSE_User_Objs.h
modified: data.c
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您已暂存的更改不会被隐藏。他们为提交做好了准备。在分支之间切换时,任何未提交或未存储的更改将保留在您的工作区域中,并且当 Git 可以在不覆盖更改的文件的情况下执行到另一个分支的切换时,它将允许您这样做。
如果您不想随身携带更改,则必须:
然后切换到另一个分支。
一些客户会让您代表您进行存储。我不想这样做,因为当我切换回来时很容易忘记隐藏的更改。
我要做的不是隐藏,而是在功能分支上提交我的更改,最好使用非常明确的提交消息来解释这些还没有准备好,然后,当我回到该分支时,我可以:
git reset --soft HEAD~1以撤消临时提交,但保留其更改,然后对其进行更多工作并稍后在新提交中再次提交。只要您不将更改推送到远程服务器,您就可以调整本地历史记录,直到它看起来像您想要的样子。
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |