記事タイトル部にはてなスターを表示
2025/02/06(木)ゆるGIT学習
今まで仕事ではもっぱらSubversionを使っていた。
WindowsなのでクライアントはTortoiseSVN
新しい仕事でgitを使うことになったのでいろいろ再確認していく。
趣味で使う分には雰囲気で操作しても問題ないんだが、仕事だとさすがに?って思ったので
誤った記載があったら修正しますんでコメントください
基本
originってなんだよ
リモートリポジトリのエイリアス
以下は同じ意味になる
git fetch origin master
git fetch git@github.com:hoge/fuga.git master
HEADってなんだよ
作業中ブランチの最新コミット
コマンド
clone
ざっくりfetch
+checkout
リモートの最新を取得し、デフォルトブランチをチェックアウトする。
gitのデフォルトブランチ名はmaster
そういえばgithubは数年前からmain
になったね
pull
内部的にはfetch
+ merge
fetch
でorigin/master
が最新に更新される
merge
でmaster
ブランチに最新が取り込まれる
fetch
リモートの最新を取り込む
ローカルブランチには反映されない
origin/master
は最新になるがmaster
はそのまま
merge
2つの異なるブランチの変更を統合する。
この際、マージコミット
という特別なコミットが生成される。
A---B---C-----M(マージコミット)
| /
D---E
rebase
ブランチの変更を別のブランチの先頭に付けなおす
いまいち動作を把握しきれていない...
- 元の状態
master: A---B---C---D---E . | dev: D'---E'
dev
ブランチ内でgit rebase master
を処理master: A---B---C---D---E . | dev: D---E---D'---E'
master
ブランチ内でgit rebase dev
を処理master: A---B---C---D---E---D'---E'
checkout
作業ブランチの切り替え
branch
新しいブランチを作成する。
git branch -a
ですべてのブランチ、作業中のブランチを表示する。
push
ローカルの変更をリモートへ反映させる