Git
個人プロジェクトのGitについて 一人しか操作する人間がおらず、複数端末でPushするユースケースがほとんどのため、以下のことに留意する。 修正したファイルがあれば、こまめにコミットする。 ローカルにある程度コミットが溜まってきたら、git rebase -iでコミットをまとめる。RemoteにPushしたコミットでも、まとめたほうが良いものがあればrebaseして綺麗にしておく。 履歴をまとめる際、一般的にgit fetch; git merge --squashの方が安全だが、どうせ個人でしか使わないので昔の履歴を追いやすい形にしておきたい。 rebaseされたコミットがRemoteにあった場合、ローカルの変更履歴をstashするなりしてからgit checkout -B master origin/masterのようにリモートブランチと同期を取る。 参考: How do I reset ‘master’ to ‘origin/master’? localのmasterブランチに既にコミットしていて、git pullでリモートから取り込んだ時に余計なmergeコミットが発生した時 git reset --hard ORIG_HEADでマージ前に戻す git fetch git rebase --iで確認しながら操作する git push origin master Git Submoduleで管理していたリポジトリ名が変更されたとき 下記の通りに一旦削除して、git submodule addしてあげればOK。 0. mv a/submodule a/submodule_tmp 1. git submodule deinit -f -- a/submodule 2. rm -rf .git/modules/a/submodule 3. git rm -f a/submodule # Note: a/submodule (no trailing slash) # or, if you want to leave it in your working tree and have done step 0 3. »