Date Tags git / memo

git関連のメモ

変更履歴を見る

$ git log -p

で全体の変更履歴

$ git log -p filename

でfilenameの変更履歴を表示する

ブランチ間の変更ファイル一覧を取得

$ git diff --name-only -b parent_branch -b child_branch
//履歴を見る場合
$ git diff --name-only

参考:gitの指定ブランチで変更されたファイルの一覧を取得したい - QA@IT

GitHubで色々やる手順

参考:

1.準備

まずは開発に関わりたいプロジェクトのリポジトリをFork

次にローカルにクローン

$ git clone https://github.com/path/to/repository.git
$ cd repository

2.開発〜Pull Request

Pull Request用にブランチを切る

$ git checkout -b issue

コード変更後、コミット

$ git add -A
$ git commit -m "commit message"
$ git push origin issue

まだrebeseは良く分かってない。で、GitHub上でPull Requestを作成する。

3.Pull Requestが反映された後

Pull Requestに使ったブランチを削除

$ git checkout master
$ git branch -D issue
$ git push origin :issue

GitHubでForkしたリポジトリを本家に合わせる

$ git remote add honke https://github.com/honke/path/to/repository.git

リポジトリの追加は1回で良い。後は合わせたいタイミングで下のコマンドを繰り返す

$ git fetch honke
$ git merge honke/master
$ git push origin master

以下2〜3を繰り返す

別の場所に開発中のブランチをダウンロードしたい場合

参考: GlassyLamp: git でブランチを指定してダウンロードする方法

issueブランチをダウンロードしたい場合

$ git clone https://github.com/path/to/repository.git
$ git checkout -b issue-local remotes/origin/issue

masterブランチの変更を別ブランチに反映する

$ git checkout hoge
$ git merge master

mergeでコンフリクトしたファイルの一覧

$ git ls-files -u

branch名を変更する

$ git branch -m <oldname> <newname>

参考:git - How do you rename the local branch? - Stack Overflow

日本語ファイルの出力

$ git config --global core.quotepath false

と先にやっておくと日本語ファイル名もちゃんと表示される

参考:git/日本語ファイル名をgit statusなどで表示する方法 - TOBY SOFT wiki

過去リビジョンや他ブランチのファイル内容を見る

過去リビジョン

$ git show <SHA1 object name>:<path>

他ブランチ

$ git show <branch name>:<path>

参考 :gitで過去のリビジョンとか別のbranchのファイルを見る - Webtech Walker