Last active
August 27, 2022 05:16
-
-
Save shiro01/0f61c6aaf451128958d6cb8692f77528 to your computer and use it in GitHub Desktop.
Gitメモ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### ブランチ | |
ブランチの作成と同時にチェックアウト(ブランチ切り替え) | |
$ git checkout -b bugFix | |
作成するだけの場合 | |
$ git branch issue1 | |
現在のブランチ確認(*がついているブランチが現在のブランチ、-aをつけると追跡中のリモート含め表示) | |
$ git branch | |
削除対象のブランチ以外にチェックアウト | |
$ git checkout master | |
現在のブランチ確認 | |
$ git branch | |
ローカルで不要なブランチ削除 | |
$ git branch -D bugFix | |
ブランチ名変更(oldbranch指定なしは現在のブランチ名変更。mとMは同じ) | |
git branch(-m | -M)[<oldbranch>] <newbranch> | |
$ git branch -m main | |
ブランチ削除 | |
$ git branch -d BRANCHNAME | |
$ git push origin :BRANCHNAME # リモートの不要なブランチを削除(1つずつ削除する) | |
ブランチが削除されていることを確認 | |
$ git branch | |
リモートで削除されたブランチをローカルでも削除 | |
$ git fetch origin --prune | |
or | |
$ git remote prune origin | |
リモートへのブランチプッシュ | |
$ git checkout otherbranch # プッシュするブランチ以外にチェックアウト | |
$ git push origin branch1 | |
### タグ | |
リモートで消えたタグをローカルから削除 | |
$ git fetch origin --prune 'refs/tags/*:refs/tags/*' | |
remoteとlocalのリポジトリを紐づけ | |
git branch (ローカルブランチ名) -u origin/(リモートブランチ名) | |
タグ削除 | |
git tag -d TAGNAME | |
git push origin :TAGNAME # リモートの不要なタグを削除(1つずつ削除する) | |
### リモート | |
リモート追加 | |
git remote add hoge GIT_URL | |
リモートを指定してプッシュ | |
git push origin master | |
git push hoge master | |
リモートブランチをプル | |
git pull <remote> <branch> | |
リモートブランチとローカルブランチの紐づけ?? | |
git branch --set-upstream-to=origin/<branch> master | |
リモートブランチとローカルブランチのプッシュ先紐づけ? | |
git push --set-upstream origin master | |
リモートURL変更 | |
git remote set-url origin hogehoge.git | |
リモート名変更 | |
git remote rename origin newname | |
リモートの登録削除 | |
git remote rm origin | |
### revert | |
既存のコミットを取り消す | |
参考:https://qiita.com/chihiro/items/2fa827d0eac98109e7ee | |
git revert <commit> # -e を付けた場合と同じ | |
git revert <commit> -n # コミットはせずインデックスに入れる | |
### その他 | |
addした後のdiff表示 | |
git diff --cached <filename> | |
br1ブランチのfoo/bar.tx と br2ブランチのhoge/fuga.txtを比較したい場合 | |
git diff br1:foo/bar.txt br2:hoge/fuga.txt | |
異なるブランチ間の同じファイルを比較する場合 | |
git diff br1 br2 foo/bar.txt | |
特定のブランチと現在編集中ファイル間の同じファイルを比較 | |
git diff br2 foo/bar.txt | |
diffで変更したファイル名のみ表示する。 | |
$ git diff --name-only | |
2つのブランチを比較した場合でも使用可能。 | |
$ git diff <ブランチ1> <ブランチ2> --name-only | |
直前コミットの打ち消す(修正内容は残す) | |
git reset --soft HEAD^ | |
add の取り消し(取り消しのみで変更はそのまま) | |
git reset HEAD . | |
編集内容の取り消し | |
git checkout <filename> | |
git checkout . | |
別ブランチからファイル取得 | |
git checkout <取得元ブランチ> <取得ファイル> | |
新規作成したファイルをすべて削除 | |
git clean -df . | |
ファイルの権限は無視する | |
git config core.filemode false | |
Gitでは改行コードを変換をしない。 | |
git config --global core.autoCRLF false | |
リベース | |
git checkout <リベース対象ブランチ> | |
git rebase <リベース先ブランチ> | |
コンフリクトが起こったら修正し対象をgit addして以下を実行する | |
git rebase --continue | |
修正したことでリベース先と差異がない場合は以下を実行する.(ログが出る→ No changes - did you forget to use 'git add'?) | |
git rebase --skip | |
git pull | |
git push | |
リベースの取りやめる場合 | |
git rebase --abort | |
vscodeでパスワード毎回聞かれるのが嫌な場合、以下を実行すると良いらしい。(まだ試していない。) | |
https://help.github.com/articles/caching-your-github-password-in-git/ | |
git config --global credential.helper wincred | |
gitの認証情報の設定については以下を参照する。 | |
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB-%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%81%AE%E4%BF%9D%E5%AD%98 | |
他のサイトの認証情報が邪魔して403になる場合、以下の手順で認証情報を削除すると良い。 | |
https://cpoint-lab.co.jp/article/201804/windows%E7%89%88git%E3%81%A7%E8%AA%8D%E8%A8%BC%E6%83%85%E5%A0%B1%E3%82%92%E6%B6%88%E3%81%99%E6%96%B9%E6%B3%95/ | |
下記GitHubではURL手順で取得できるnoreplyメールアドレスを設定するとメールを晒さなくてすむ。 | |
https://help.github.com/articles/about-commit-email-addresses/ | |
https://help.github.com/ja/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address | |
$ git config --local user.name 名前 | |
$ git config --local user.email "メールアドレス" | |
リポジトリ作成 | |
git init | |
最初のコミット(空のコミット) | |
git commit --allow-empty -m "first commit" | |
~/.gitconfig にalias追加("git ll"または"git g" でログ表示) | |
[alias] | |
ll = log --graph --oneline --decorate=full | |
gg = log --graph --date=short --format=\"%C(yellow)%h%C(reset) %C(magenta)[%ad] %C(cyan)@%an%C(reset) %C(reset)%C(auto)%d%C(reset) %s\" | |
git コマンド出力の色を有効化 | |
git config --global color.ui true | |
git コマンド補完機能を有効化 | |
$ sudo find / -name git-completion.bash | |
/usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.bash | |
$ sudo find / -name git-prompt.sh | |
/usr/share/doc/git-1.8.3.1/contrib/completion/git-prompt.sh | |
試しに実行して確認。(ログアウトすると消える。.bashrcなどログイン時に読み込むファイルに記入する。) | |
$ source /usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.bash | |
$ source /usr/share/doc/git-1.8.3.1/contrib/completion/git-prompt.sh | |
.bashrcに追記 | |
source /usr/share/doc/git-1.8.3.1/contrib/completion/git-completion.bash | |
source /usr/share/doc/git-1.8.3.1/contrib/completion/git-prompt.sh | |
PS1='[\u@\h \w$(__git_ps1)]$ ' | |
$ source .bashrc | |
主な設定値: | |
\d : 日付 | |
\h : ホスト名(ドメイン名なし) | |
\H : ホスト名(ドメイン名あり) | |
\s : シェルの名前 | |
\t : 時間(24時間制 HH:MM:SS形式) | |
\T : 時間(12時間制 HH:MM:SS形式) | |
\@ : 時間(12時間制 HH:MM AM/PM形式) | |
\u : ユーザ名 | |
\w : カレントディレクトリ | |
\W : カレントディレクトリのベース名 | |
! : コマンドの履歴番号を表示 | |
# : コマンドのコマンド番号 | |
$ : rootなら#、それ以外のユーザなら$を表示 | |
\ : バックスラッシュ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment