使用命令git checkout 有什么作用?

What is the effects of using the command git checkout?

我有三个分支Master,Branch1和Branch2, 我目前正在研究 Branch2。我做了一些本地更改,但我想将这些更改提交到新分支 (Branch3)。

经过一些研究,我发现我应该使用 "git checkout -b [name_of_your_new_branch]"

创建一个新命令

我担心如果我检查新分支,我所有的本地更改都将消失。

有人可以帮助确认在 branch2 上工作时提交和推送到新分支的最安全方法是什么吗?

签出新分支不会丢失更改。你应该:

创建一个新分支

git checkout -b Branch3

暂存您的更改

git add .

将您的更改提交到该分支

git commit -m "Adding current changes to my newly created branch"

推动你的分支

git push --set-upstream origin Branch3

Git 不会覆盖或破坏您的更改,除非您提出要求。小心带有标志 --force-f 的命令。如果您在有未提交的更改时签出另一个分支,Git 将 "float" 这些更改结束。如果无法干净地应用更改,Git 将拒绝签出其他分支。

只需像您提到的那样创建并签出新分支,并像往常一样提交更改。

git checkout -b Branch3
git add <path>
git commit

作为一般性建议,请尽量坚持您关心的事情。恢复已成为提交一部分的更改相当微不足道,但很难恢复从未成为提交一部分或添加到索引中的文件。