今後、自分で忘れたときに参照するために、備忘録としてまとめてみた。
1workingDirectory 2stagingArea(index) 3repository(local,remote)
1workingDirectory 2stagingArea(index) 3repository(local,remote)
1から2が、add 2から3がcommit
最初に git init で作業ディレクトリ作成
git add . git commit -m 'コメント' これらを まとめて git commit -am 'コメント' ともできるようだ。 git commitで、名称を入力も可能
直前のコミットに含めたいとき git add . のあと git commit --amend コミットが増えない
直前のコミットに含めたいとき git add . のあと git commit --amend コミットが増えない
git log でコミット保存が確認できる
git log --onelineで1行表示
git log -p 変更状況が確認できる
git log --graph グラフ化
git log --stat 何か所変更したか確認
git status よくわからなくなったら、ここでコマンドを参照する
addもcommitもしてないと
・git checkout -- <file>で変更をないことにもできる
・git diff で確認できる
ただし、addしていると git diff -cachedとする
git add . 下位ディレクトリも含めステージングエリアにあげる
削除、移動は git rm git mvを使わないといけない
git reset --hard <hash>
git reset --hard ORIG_HEAD もとの先頭にもどすことができる
万が一、間違ってresetしたら
git reflog で操作履歴を表示し、それに基づいてgit reset --hard HEAD@{n}のように
git branch <ブランチ名> git checkout -b ブランチ名 でチェックアウトも一緒に可能
git branchで ブランチのリスト git checkout ブランチ名 でブランチ切り替え
git branch -d ブランチ名 で削除
git merge難しいとき git merge --abort
git revert <hash> でコミットの取り消し可能 コンフリクトが起きたら、ブランチのマージで対処した方法で解消可能
別のブランチから今いるブランチへ、必要なコミットだけをコピーできる
git cherry-pick [コミットID]
作業中のファイルを保存するには、まだコミットしていない状態で、
git stash save
スタッシュのリストを見る
スタッシュのリストを見る
git stash list
・スタッシュを復活させる
git stash apply stash@{0}
・スタッシュを削除する
git stash drop stash@{0}
・スタッシュの復活と削除を同時に行う
git stash pop stash@{0}
・スタッシュを復活させる
git stash apply stash@{0}
・スタッシュを削除する
git stash drop stash@{0}
・スタッシュの復活と削除を同時に行う
git stash pop stash@{0}
stashの使用例:間違って違うブランチで作業していた時
コミットせずブランチを切り替えようとするとエラーが発生する。そこでgit stashで
変更がいったんメモリに
そして、正しいブランチにり替え後に、git stash popでもってくることができる
git grep “検索したい文字列”
git grep “検索したい文字列” コミット識別子
・ファイル名のみ表示する
git grep -l “検索したい文字列”
行番号を表示させるよう設定。$ git config --global grep.lineNumber true
・ファイル名のみ表示する
git grep -l “検索したい文字列”
行番号を表示させるよう設定。$ git config --global grep.lineNumber true
git clone https: ⁄ ⁄ github.com/[あなたのGitHub ID]/pull-request-practice.git
git remote add upstream https: ⁄ ⁄ github.com/elmas3/pull-request-practice.git
git remote -v
git remote rm upstream
git config -l でリモートの設定が確認できる
git clone <remote> <local>でリモートからクローン出来る
ある Git ブランチのコードをチェックアウトするには、
$ git switch <ブランチ名>
のように実行しますが、そのブランチの最新コードではなく、ある特定のバージョン(コミット ID)のソースコードを少しだけ覗いてみたいということがあります。 そのような場合は、ブランチ名の代わりにコミット ID を指定してチェックアウトすることができます。
コミット名を指定して git checkout を実行すると、どのローカルブランチもチェックアウトしていない detached HEAD という状態になります。例えば、以下のように git checkout すると、この状態になります。
git checkout 0d3ce61 # コミット ID を指定
git checkout HEAD^0 # 最新のコミットを指定
HEAD が detached された状態で git branch を実行すると、どのブランチにもいないことを示す (no branch) が表示されます。
git branch
* (no branch)
main
mybranch
detached HEAD 状態でも git commit などのコマンドを実行できますが、どのブランチにもいない状態なので、どのブランチの head も更新されません。 再びローカルブランチ名を指定してチェックアウトすると、detached HEAD で行っていた変更を破棄してブランチの最新状態に戻ることができます。
detached HEADの状態でコミットしてしまった場合:
①変更内容が不要な場合
detached HEADの変更内容を破棄するには、次のコマンドを実行します。
git reset --hard @
@は最新のコミットを指します。HEADと同じです(エイリアスです)。
②変更内容を引き継ぎたい場合
detached HEADで行ったコミットを引き継ぎたい場合は、ブランチを移動後に、対象のコミット番号を指定してmergeします。
#特定のブランチにて(masterブランチなど)
git merge <コミット番号>
これで指定したコミットが、現在のブランチのコミットの中に取り込まれます。
③変更内容で新しブランチを作成したい場合
変更内容で新しいブランチを作成したい場合は、コミット番号を指定して新しいブランチを作成します。
git checkout -b <新しいブランチ名> <コミット番号>
ある Git ブランチのコードをチェックアウトするには、
$ git switch <ブランチ名>
のように実行しますが、そのブランチの最新コードではなく、ある特定のバージョン(コミット ID)のソースコードを少しだけ覗いてみたいということがあります。 そのような場合は、ブランチ名の代わりにコミット ID を指定してチェックアウトすることができます。
コミット名を指定して git checkout を実行すると、どのローカルブランチもチェックアウトしていない detached HEAD という状態になります。例えば、以下のように git checkout すると、この状態になります。
git checkout 0d3ce61 # コミット ID を指定
git checkout HEAD^0 # 最新のコミットを指定
HEAD が detached された状態で git branch を実行すると、どのブランチにもいないことを示す (no branch) が表示されます。
git branch
* (no branch)
main
mybranch
detached HEAD 状態でも git commit などのコマンドを実行できますが、どのブランチにもいない状態なので、どのブランチの head も更新されません。 再びローカルブランチ名を指定してチェックアウトすると、detached HEAD で行っていた変更を破棄してブランチの最新状態に戻ることができます。
detached HEADの状態でコミットしてしまった場合:
①変更内容が不要な場合
detached HEADの変更内容を破棄するには、次のコマンドを実行します。
git reset --hard @
@は最新のコミットを指します。HEADと同じです(エイリアスです)。
②変更内容を引き継ぎたい場合
detached HEADで行ったコミットを引き継ぎたい場合は、ブランチを移動後に、対象のコミット番号を指定してmergeします。
#特定のブランチにて(masterブランチなど)
git merge <コミット番号>
これで指定したコミットが、現在のブランチのコミットの中に取り込まれます。
③変更内容で新しブランチを作成したい場合
変更内容で新しいブランチを作成したい場合は、コミット番号を指定して新しいブランチを作成します。
git checkout -b <新しいブランチ名> <コミット番号>
0 件のコメント:
コメントを投稿