1
1

More than 1 year has passed since last update.

Git

Last updated at Posted at 2021-08-23

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で確認できる)
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1