tofdinoの日々

SIerのSEが学んだことをアウトプットをする場所

ローカルブランチ名とリモートブランチの名前が違う時

リモートブランチ名とローカルブランチ名は一致させましょう

## プッシュ
git push origin feature/hoge
error: src refspec feature/hoge does not match any
error: failed to push some refs to 'https://github.com/userhoge/hoge'
## ローカルブランチ名を変更する
git branch -m [新しいブランチ名]

Gitローカルブランチを削除する

事前に削除したいブランチから移動しよう!

ブランチの削除

## ブランチの確認
git branch
## ブランチの削除
git branch -d [ブランチ名]

ブランチの強制削除

マージしてないブランチの削除方法

## マージしてない時のエラー
error: Cannot delete the branch 'ブランチ名' which you are currently on. 
## 強制削除
git branch -D [ブランチ名]

編集途中でコミットせずにブランチを切り替えたい(addした場合)

編集途中でコミットできる状態じゃない時にブランチを切り替える必要がある場合
退避させた作業を元に戻す時に、現在いるブランチに退避させた作業が反映されるのでブランチを必ず元の作業ブランチに切り替える!!!!

## 編集途中のソースを退避
## "hogehoge"をつけることでコメント可能
git stash
## 退避した作業の一覧を表示
## stash@{n}が退避した作業の名前
git stash list
## ブランチ変更
git switch [ブランチ名]
---別のブランチで作業をする---
## もとの作業していたブランチに戻す
git switch [元の作業ブランチ名]
## 退避させた作業を元に戻す
## --indexをつけるとaddしたものを元に戻す
git stash apply stash@{n} --index
## 退避した作業を消す(任意)
git stash drop stash@{n}

Gitでコミットを取り消し/打ち消し/上書きしたい

revertの履歴が残るためコミットの打ち消しを最初に検討する!!

コミットの取り消し

指定したコミットを取り消して前の状態に戻す
任意のコミットを指定すると、指定したコミット以降のコミットをする必要がある!!!

## --hardはワークディレクトリの内容も書き換える
## HEAD^は直前を表す。HEAD^^は二つ前
git reset --hard HEAD^

コミットの打ち消し

指定したコミットの状態に戻し、新しくコミットを行う
任意のコミットを指定を指定できる!!!
revert履歴が残るので安全!!!

## HEADで直前も指定可能
git revert [コミットのハッシュ値]

コミットの上書き

直前のコミットを上書きする
コミットしたがaddし忘れたファイルなどがあるときに使用する

git commit --amend

既存のリモートリポジトリのブランチで開発を行いたい

既存のリモートリポジトリからローカルブランチを作成する
remotes/[リモートリポジトリのブランチ名]で表示される
基本は[ローカルブランチ名]=[リモートリポジトリのブランチ名]にする

## リモートリポジトリからクローンする(option)
git clone [リモートリポジトリURL]
## リモートリポジトリのブランチを一覧表示、確認
git branch -a
## リモートリポジトリのブランチからローカルブランチを作成し、ブランチ切り替え
git switch -c [ローカルブランチ名] [リモートリポジトリのブランチ名]

初めてのGit(git initからgit pushまで)

## リモートリポジトリに反映させたいディレクトリで行う
git init
git add .
git commit -m "first commit"
## リモートリポジトリをoriginとして設定
git remote add origin [リモートリポジトリ] 
## リモートリポジトリのmasterブランチにpush
## masterブランチじゃなくてmainの場合もあるよ
git push origin master

Gitでローカルブランチ名を変更したい時

今いるブランチ名を変更したい時

git branch -m [新しいブランチ名]

別のブランチにいる時にブランチ名を変更したい時

git branch -m [古いブランチ名] [新しいブランチ名]