-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Git Migration FAQ JA
複数の回答があるものは議論の余地があるものです。そのような点は今後何かしら問い合わせが来るでしょうので、一度空気感合わせて、問い合わせがあったときに「とりあえず現状移行でばたばたしててご迷惑おかけしてますがこんな感じでやってるんです。ご意見ありがとうございます今後改善します」的な感じにしてやっていきましょう。
git clone git@git.ruby-lang.org:ruby.git
リポジトリへのアクセスは、コミッタであれば提出しているはずのssh鍵を使って行われます
以下はもう少し凝った設定をしたい人向け。
- pushのみgit.r-l.oを使い、pullなどはGitHubから行うようにする
- trunkブランチの別名としてmasterブランチを用意する
- これは誤ってmasterブランチをpushしてしまうことがあるようなので要注意。
- サーバ側での対応が検討中→https://bugs.ruby-lang.org/issues/15843
- logコマンドなどでruby-trunk-changesが表示されるようにする
git clone https://github.com/ruby/ruby.git
cd ruby
git remote set-url --push origin git@git.ruby-lang.org:ruby.git
# For those who want to use "master" branch
git symbolic-ref refs/remotes/origin/master refs/remotes/origin/trunk
# For those who want to show ruby-trunk-changes
git remote add ruby-trunk-changes https://github.com/nagachika/ruby.git
git config remote.ruby-trunk-changes.fetch '+refs/notes/commits:refs/notes/commits'
git fetch --tags
ダメです
押して良くなりました
ダメです。事故を防止するために github の url を origin の push に設定するのはやめましょう。
一応、GitHub の ruby/ruby リポジトリの write 権限を持つ人(adminとか)以外は push できないようになってます。
trunkだけOK。 それ以外へのブランチの作成、topic branchの作成、タグの作成は禁止です。
ダメです。 git云々以前に、従来から安定版ブランチはそのブランチのメンテナ以外はコミット禁止です。 変更を加えて欲しい場合はbackportを依頼してください
ruby_2_6 以下のバージョンのブランチは svn が canonical です。cgit, github は引き続きミラーです。
ダメです。現在はフックで禁止されています。
- マージコミットがあると、新たに入ってきたコミットの特定が難しくなるので、「git log が読みにくい」「rubyfarm-bisect などで対応が必要」などが問題になっています。
ssh key に対応する user.email でないとコミットできません。対応は↓のフックスクリプトの冒頭に対応表が書いてあります。
https://github.com/ruby/ruby-commit-hook/blob/master/bin/check-email.rb
このスクリプトにまだ対応が書かれていない人は、2019 年中は自由な user.email でコミットできます。2020 年からは、対応表のとおりでないとコミットできなくなる予定です。 コミット(git push)されるたびに git サーバで ssh key と user.email の対応を記録しています。不定期にこれを check-email.rb の対応表に反映していく予定です。
したい人はしてください。必須ではないです
まず、繰り返しますがマージボタンは押してはいけません。
マージボタンを押してください
- A: rebaseするように作者に言いましょう
- Q: 言ったけどしばらく(どれくらい?)返事がない
- A1: 直してマージ
- A2: そのままマージして、直後のコミットで修正
- Developer How To, Developer How To JA
- How To Contribute
- How To Report, How To Report JA
- How To Request Backport
- How To Request Features
- Developers Meeting