支店管理
コマンド | 効果 |
---|---|
gitブランチ | 現在のブランチを表示 |
git checkout / git switchブランチ名 | スイッチブランチ |
gitマージブランチ名 | 指定されたブランチを現在のブランチにマージします |
git branch -dブランチ名 | 指定したブランチを削除 |
git diffブランチ名1ブランチ名2 | 2つのブランチの違いを表示する |
git diffブランチ名1ブランチ名2ファイル | 2つのブランチ間の指定されたファイルの違いを表示する |
git stash | 仮包装 |
git stash
Git stash一時パッケージ(スナップショット)の使用シナリオ:現在のブランチは開発されておらず、別のブランチに切り替える必要があります。次のファイルに対するローカルの変更は、チェックアウトによって上書きされます。ブランチを切り替える前に、変更をコミットするか、それらを隠しておいてください。次のファイルに対するローカルの変更はチェックアウトによって上書きされます。ブランチを切り替える前に、それらをコミットまたは隠してください。
解決策:他のブランチ操作が完了した後、元のブランチに切り替えると、スタッシュに保存されたものを取り出す必要があります:git stash apply stash {number}、ブランチを切り替える前にコードを復元します。その後、stashに一時的に保存されているものを削除できます。もちろん、stashレコードを削除することもできます:git stash pop(トップを削除)とgit stash clear(すべて削除)
gitmerge与git rebase
マージする | rabaseに行く |
---|---|
マージ | リベース |
アイデアの視覚化ページには、ブランチのマージが表示されます | アイデアの視覚化ページには1行しかありません |
注:複数人の協力のパブリックブランチでリベースを使用することはお勧めしません。BブランチがAにマージされたと想定します。BブランチのコミットレコードはAブランチのコミットレコードよりも早いですが、Aブランチの最後のコミットが午前9時であるとすると、Bブランチ3つのコミットレコードは、午前8時、7時、および午前6時です。BをAにマージすると、これらの3つのコミットレコードは、9:01をマージした時刻になり、Aブランチの先頭まで実行されます。
git merge --squash
BブランチをAにマージします。Bブランチのコミットレコードが多すぎます。直接マージすると、すべてのコミットレコードがAブランチに直接マージされ、Aブランチの可観測性に影響します。gitmerge --squashはすべてBブランチのすべてのコミットをコミットしますレコードは1つにマージされ、ブランチAに送信されます。
チェリーピック
ブランチBをAにマージします。ブランチBのコミットレコードが多すぎます。1つにしたくない、またはすべてのコミットレコードを送信したくない場合は、チェリーピックを使用していくつかのコミットを選択できます。アイデアの視覚化ツールには、桜のようなアイコン、つまり桜のピックがあります。Shiftキーを押しながらいくつかのコミットレコードを選択し、桜のアイコンをクリックして実行します。