Git
Tutorials¶
Tips¶
- Gitチートシート - Qiita
- Gitはファイルの移動を追跡できない - 永遠に未完成
$ git log --follow
- gitで複数のコミットを1つにまとめる - TIM Labs
- コミットに対する指示は上から順番に処理される
- 行を入れ替えればコミットの順序を入れ替えることができる
- pick: このコミットをそのまま取り込む
- fixup: このコミットでの変更内容を直前のコミットに合成する
- squash: 合成対象の各コミットのログを編集することができる
$ git rebase -i HEAD~4
- [初心者向け]こんなときどうする⁉︎ GitのTips26選! - Qiita
- キャリア1年未満だった僕が、社内にGitの運用を布教するために読みあさったもの ( +ちょ〜簡単に各Gitの運用方法のメリット・デメリット ) - Qiita
- Gitでやらかした時に使える19個の奥義 - Qiita
- bash - Check if pull needed in Git - Stack Overflow
- 壁に貼ろう「Gitのコミットメッセージを絵文字から始める」 - Weed.nagoya|物理教育アプリつくってます
- git-tips/tips: Most commonly used git tips and tricks.
git diff¶
- Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば
- YappoLogs: xlsx ファイルを git diff しやすくする為の天才的な wrapper script を書いた
- gitで差分ファイルを抽出する - Qiita
git archive --format=zip --prefix=root/ HEAD `git diff --diff-filter=d --name-only HEAD^ HEAD` -o archive.zip
alias¶
git log / commit hash¶
- node.js - Get hash of most recent git commit in Node - Stack Overflow
- bash - How print last commit info for every file in a git repository - Stack Overflow
- git logのフォーマットを指定する - Qiita
commit message¶
commit message with emoji¶
- atom/CONTRIBUTING.md at master · atom/atom
- dannyfritz/commit-message-emoji: Every commit is important. So let's celebrate each and every commit with a corresponding emoji!
- GitHubで絵文字コミットを続けてみて有用だったEmojiまとめ - 犬アイコンのみっきー
branch¶
リモートで消されたブランチが手元で残ってしまう件を解消する - Qiita¶
$ git remote prune origin
Gitコミット時の名前とメールアドレス¶
グローバル設定を変更する¶
ホームディレクトリ/.gitconfig
で定義する情報を変更するコマンド
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
ローカルリポジトリ設定を変更する¶
リポジトリ/.git/config
で定義する情報を変更するコマンド
$ git config user.name "John Doe"
$ git config user.email johndoe@example.com
direnv¶
あるディレクトリに .envrc というファイルを置いておくと、そのディレクトリ以下に cd した時に .envrc の内容の環境変数が読み込まれるという代物です。
SSH認証キーの設定¶
GitHubをサンプルとした、サービスごとに鍵を分ける例。パスフレーズなし。
$ cd ~/.ssh
$ ssh-keygen -t rsa -C "sample@example.com" Generating public/private rsa key pair. Enter file in which to save the key (/Users/Syon/.ssh/id_rsa): Enter passphrase (empty for no passphrase): <ENTER> ※パスフレーズなし Enter same passphrase again: <ENTER> ※パスフレーズなし
$ ls config id_rsa id_rsa.pub
$ chmod 600 id_rsa
$ mv id_rsa github_rsa $ mv id_rsa.pub github_rsa.pub
$ ls config github_rsa github_rsa.pub
config
ファイルを編集
Host github.com Hostname github.com IdentityFile ~/.ssh/github_rsa User git Host heroku.com Hostname heroku.com IdentityFile ~/.ssh/heroku_rsa User git Host bitbucket.org Hostname bitbucket.org IdentityFile ~/.ssh/bitbucket_rsa User git
$ pbcopy < github_rsa.pub
GitHub サイトの設定で Add SSH key
して公開鍵を設置
- https://github.com/settings/ssh
接続確認
$ ssh git@github.com PTY allocation request failed on channel 0 Hi syon! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.完了