git pushできない
ググって適当に設定していたためにコケた。
gitリポジトリサービスを使ったことはあるが、自分で一からgitリポジトリ構築したことがなかったため、知識が不足している模様。
たまにしかpushできないなど、問題は完全に解決していないが注意点を挙げてみる。
1.gitリポジトリ内のディレクトリのグループは、全て設定したグループになっているか?
- できていない場合は、chownコマンドでグループ変更。
- pushできるユーザーがいる場合、pushされたコミットのグループを確認(objectsディレクトリの中身を見る)
2.プッシュするユーザーがgitリポジトリ(.gitディレクトリ)のグループにいるか?
- idコマンドにユーザー名を与えてやると、該当ユーザーのグループが表示される。
- ユーザーがグループにいない場合は、gpasswdコマンド。
3.gitリポジトリには、グループに対して読み書き権限が与えられているか?
- 読み書き権限がない場合、chmodコマンドで権限変更。
4.gitリポジトリは共有モードか?
- http://d.hatena.ne.jp/kuma8/20110115/1295100616
- http://www.fraction.jp/log/archives/2009/11/16/create_shared_repository_for_git
自分の環境に変更履歴を保存できるというのは、やはり気楽でいいなと思っている次第。
また、コミットメッセージ入力で「自分の作業内容を明確化・振り返る」ことができ、頭の整理がついて、効率アップに寄与していると思う。
(入門gitか何かに、コメントメッセージの書き方とあわせて書いてあったように思う。)
(10/26追記)
結局、競合が原因だった模様。
運用ルールとして以下を心がけるようにした。
1.pullは使わない。fetchしてmergeする。
2.競合をローカルで解決後、インデックスに競合解決したファイルを追加する。
小規模開発であったため、ブランチの状態を図に書くことで状況の整理になった。