Git command
Alias
git config --global alias.st status
Commit
Beck to previous commit (Remain the change)
git reset --soft HEAD~
Empty Commit
git commit --allow-empty
Revert
- Revert merge commit
git revert -m 1 {revision}
Submodule
Update
git submodule foreach git pull origin master
Branch
Rename
Rename local branch
-
rename any branch
git branch -m old_name new_name
-
rename current branch
git branch -m new_name
Delete
Delete merged local branch
git branch -d branch_name
Delete local branch, even if it’s not merged
git branch -D branch_name
Delete remote branch
git push --delete origin branch_name
git push origin :branch_name
List
Remote
git branch -r
git branch --remote
Remote and Local
git branch -a
git branch --all
Resolve Conflict
checkout --ours
と
checkout --theirs
を使うことで、 片方の変更を適用できる。
Excample
git checkout --ours file1.txt
git checkout --theirs file2.txt
git add file1.txt file2.txt
git commit
Add file from other branch
git add branch_name file_path
Show file in other branch
git show branch_name:file_path
Log
-p
- 差分も一緒に表示する。
- ファイルを限定する場合は
-p
の後にファイルへのパスを記述する。
-p --name-only
- 差分のファイルリストを一緒に表示する
.gitignore
- If you ignore the file,
!
can’t affect to the inner files.dir/ !dir/file
- To include specific files in the directory, don’t ignore the directory, but files.
dir/* !dir/file
checkout revision
git checkout {revision}
Commit Message
- 見本
- https://gist.github.com/stephenparish/9941e89d80e2bc58a153
- AngularJS のルールをまとめたもの。
- 本家 Angular JS のルール
- https://gist.github.com/stephenparish/9941e89d80e2bc58a153
Other
- Entirely different branches can’t be merged
- when trying merge, the following message will be got.
fatal: refusing to merge unrelated histories
- in GitHub, difference can’t be seen.
- Example: Comparison Page
- when trying merge, the following message will be got.
- 直前のコミットの日付を変更する。
git --amend --date="2015-02-01 01:00:11"
- GitHub の表示例: Date Changed Commit
- “Commits on Sep 4, 2018” のコミット日時がおかしくなっている。