Gitの使い方まとめ

ツイート
2021年04月11日
2021年08月13日

Gitのバージョンアップ

sh
git --version brew install git git --version

Gitのデフォルトブランチ名をmain変更

sh
git config --global init.defaultBranch main

ユーザー設定

bash
git config --global user.name "John Doe" git config --global user.email johndoe@example.com

alias設定

bash
# system git config --system alias.co checkout git config --system alias.br branch git config --system alias.ci commit git config --system alias.st status # global git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status # local git config --local alias.co checkout git config --local alias.br branch git config --local alias.ci commit git config --local alias.st status

config確認

bash
# local cat {repo}/.git/config # global /Users/user/.gitconfig # system cat /usr/local/etc/gitconfig

.gitconfigが無い場合

bash
rm ~/.gitconfig touch ~/.gitconfig

リモートリポジトリの確認

bash
git remote -v

追加

sh
git remote add origin {url}

変更

sh
git remote set-url origin {url}

ローカルの直前コミットを戻す

bash
git reset --soft HEAD^

合わせて、ステージを戻す

bash
git reset

リモートの直前コミットを戻す

bash
git reset --hard HEAD^
bash
git push origin +master git push origin +develop

上記は履歴が残らないので、履歴を残したい場合は、revertを使いましょう。

マージ済ブランチの削除

bash
git branch -D `git branch --merged | grep -v \* | xargs`

特定のコミットを打ち消す

ログを調べて、コミットのハッシュを特定する。

bash
git log tig
bash
git revert {ハッシュ値}

ブランチ名の変更

bash
git branch -m <古いブランチ名> <新しいブランチ名> git push origin :<古いブランチ名> # ついでに削除

unstagedファイルを削除

bash
git clean git clean -f # 強制 git clean -df # ディレクトリも含める

特定のファイルを特定のコミットに戻す

bash
git checkout [コミット番号] [ファイルパス]

GitHub SSH接続

  • SSHキーを作成し、~/.ssh/configに記載、GitHubにSSH公開鍵を設定する。

GitHub でパスワードを変更した後

bash
git config --global user.name <username> git pull # なんでも良い

を実行し、パスワードを聞かれるので、入力する。

Personal Access Token設定後のMac設定

bash
$ git credential-osxkeychain erase ⏎ host=github.com ⏎ protocol=https ⏎
bash
git fetch

How do you reset the stored credentials in 'git credential-osxkeychain'?

credential-osxkeychainの設定

bash
git credential-osxkeychain

認証アシスタントがインストールされていない場合は、以下の内容が表示されます。

bash
git: 'credential-osxkeychain' is not a git command. See 'git --help'.

この時点で、認証アシスタントを正しいパスにダウンロードすることができます。

bash
curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain chmod u+x git-credential-osxkeychain mv git-credential-osxkeychain /usr/local/bin

インストール後、オープン認証アシスタントの設定を行います。

bash
git config --global credential.helper osxkeychain

GitHub for Mac error: git: 'credential-osxkeychain' is not a git command

Rebase

sh
git rebase [つなぐ元にするブランチ名] git rebase origin/[つなぐ元にするブランチ名] # コンフリクト解消 git rebase --continue

元ブランチの確認

sh
git show-branch

git blame

行ごとに差分を見る

git blame <paths>

大文字と小文字のファイル検知

$ git config -l --local | grep core.ignorecase core.ignorecase=true これをfalseにしてあげたらOK. $ git config core.ignorecase false

Tagの利用

git tag v1.0.0 git push --tags