#Gitで取り消しコマンド一覧
やりたいこと | コマンド |
---|---|
ファイルを変更したけど取り消したい | git checkout ファイル名 or フォルダ名 or パス |
git addしたけど取り消したい | git reset or git reset HEAD |
git add, git commitしたけどコミットメッセージ間違えた | git commit --amend --amendの後は何もつけない コミットメッセージを編集できる画面になる |
git add, git commitしたけどgit commitを取り消したい | git reset --soft |
git add, git commitしたけど両方取り消したい | git reset --mixed |
⭐️特定のcommitまで戻りたい | git reset 番号(git logから確認) |
pushしたかしていないかは後で考える
HEAD =今作業しているブランチ
soft=HEADだけ元に戻す=コミットだけ消える
mixed=HEADとインデックスを元に戻す
hard=HEAD、インデックス、作業ブランチを全部元に戻す
参考
https://qiita.com/forest1/items/f7c821565a7a7d64d60f
ステージングエリア=インデックス
#Git diff系コマンド一覧
やりたいこと | コマンド |
---|---|
作業ディレクトリとインデックスの差 | git diff |
インデックスと最新コミットの差 | git diff --cached |
作業ディレクトリと最新コミットの差 | git diff HEAD |
stashとの差分を確認 | git diff stash@{番号} |
#Git stash系コマンド一覧
やりたいこと | コマンド |
---|---|
名前をつけて変更を保存 | git stash save 名前 |
退避させた変更一覧表示 | git stash list |
変更を取り込む | git stash apply |
⭐️変更を取り込み消す | git stash pop |
⭐️退避している最新の変更を消す | git stash drop |
退避している全部の変更を消す | git stash clear |
#Git revert系コマンド一覧
やりたいこと | コマンド |
---|---|
⭐️pushしたcommitを打ち消すcommitを作る | git revert 番号 git logで調べる revertしたらpushする |
revertをrevertする | git revert revertの番号 |
merge commitをrevert | git revert -m 1 番号 |
#branchの名前を変更したい
git branch -m <古いブランチ名> <新しいブランチ名>
#コンフリクトが起きたら
developブランチに移動して、developを最新にして、
それを作業していたブランチにマージする
git checkout develop
git pull origin develop
git checkout もといたブランチ名
git merge develop
でコンフリクトしたファイルをlocalに表示できる
git pull origin developではなくgit merge develop
→
22/2/8
これはdevelopブランチでgit pull origin developをしてから対象のブランチでそのローカルのdevelopブランチをgit merge developで取り込んでいるはず!
#載せてはいけないものをpushしてしまったので
pushした内容を上書きしたい
git reset HEAD^
git push -f origin ブランチ名
#エラー
###git initでhintが大量に出現
hintが言っているようにデフォルトのブランチ名を設定する
masterに
git config --global init.defaultBranch master
cat .gitconfig //ファイルの内容を確認
rm -r .git
git init
参考
https://zenn.dev/siba/articles/0c4c3510ddbc7d
#その他
##git initは何をしているか
用語 | 意味 |
---|---|
ディレクトリ | ディスク内の階層構造 |
リポジトリ | 履歴管理をする仕組み ディレクトリになっている場合もあり |
参考 | |
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12233405462 |
リポジトリ(.git)を新規に作成している
この中で差分が管理され、ファイルの変更を記録することが出来るようになる
#上流ブランチ(Upstream branch)とは
あるローカルブランチが履歴を追跡するように設定したリモートブランチのこと
初めてブランチをpushするときは-uオプションを付けることが推奨
こうすることでpush先のリモートブランチがpush成功した際に上流ブランチとして設定される
通常はoriginのmasterブランチとして設定
###上流ブランチを設定するメリット
git push
git pull
だけで
git push origin master
git pull origin master
と同じ意味になるので楽
参考
https://www-creators.com/archives/4931
#.gitignoreファイルに追加したのにignoreされない
既にgitで管理されているファイル(既にgit addやgit commitしたファイル)の場合は
git rm -r --cached . //ファイル全体キャッシュ削除
git rm -r --cached パス
としてgitの管理から外す
#新しくアプリを作ったときの手順
- 必要であればサブモジュール化する
Railsはアプリ作成後に作られるがNuxtは手動で行う
git init
管理しているファイルを確認する
git ls-files
.gitmodulesファイルを作成してpath(apiやfrontと記述する)とurl(GitHubのSSHの部分を後でコピーする)
を設定する
[submodule "api"]
path = api
url = GitHubのSSHのパス
[submodule "front"]
path = front
url = GitHubのSSHのパス
-
SSH接続しているのであれば飛ばす
-
リポジトリを作成する
+ボタンから -
プロジェクトを作成する
複数のリポジトリを管理したい場合はプロジェクトをアイコンのyour projectから作成する -
コマンド操作
git remote add origin GitHubのSSHに書かれたパス
git remote -v で確認
git push するとエラーなので表示されるコマンド↓を打つ
git push --set-upstream origin master
複数リポジトリを管理するプロジェクトがある場合は.gitmodulesのurlにGitHubのSSHに書かれたパスを記述して上記のコマンドを実行する
#間違えて他のブランチで作業してcommitしてしまったものを本来のブランチに取り込む
git cherry-pick 番号(git logで確認できる)