-2

変更をコミットしたり隠したりしないと、Git でブランチを切り替えることはできません。この背後にある全体像は何ですか? また、Linus が Git を設計する際にこのアプローチを採用したのはなぜですか?

ブランチを切り替えるとローカルの変更がブランチ全体に表示される場合、ブランチは孤立して機能することが期待されるため、ブランチのポイントは何ですか?

4

1 に答える 1

-2

変更をコミットしたり隠したりしないと、Git でブランチを切り替えることはできません。

実際にはブランチを強制的に切り替えることができますが、現在のブランチでコミットされていない変更はすべて失われます。ブランチを切り替えるだけで現在の作業を失いたい場合は、非常にまれです。最初に現在のブランチにコミットするか、少なくともstash変更をコミットして、戻ってくることができるようにしてみませんか?

とにかく、ブランチを強制的に切り替えるには、次のことができます。

1)

git checkout -f <new_branch>  // will lose any uncommitted changes on <old_branch>

また、

2)

git reset --hard <commit-hash-id-of-new-branch>  // will lose any uncommitted changes on <old_branch>
于 2017-01-13T01:56:56.877 に答える