情報 |
---|
これは cybozu.com インフラ開発チームが社内で使用しているマニュアルを一部修正したものです。 のインフラ開発チームが社内で使用しているマニュアルを一部修正したものです。 文中の GitHub はほとんどの場合、サイボウズ社内で利用している GitHub Enterprise のことを指しています。 |
目次 | ||
---|---|---|
|
Git とは
Git は分散バージョン管理システムと呼ばれるものの一つです。Subversion と比較すると、高機能だが複雑で難しいと言えます。「分散」とついているのは Subversion のように中央レポジトリがあるのではなく、各個人が手元に所有する分散したレポジトリを同期して使うモデルを採用しているためです。とはいえ、現実的にはほとんどのチームで GitHub でホストする共有の中央レポジトリを持つことになるでしょう。こうした場合 git の最大の特徴は後述するブランチとマージの管理が優れていることです。例えば、特定の不具合の修正を他のブランチに取り込むといったことが簡単にできます。
...
origin に master
, INFRA-1000
と stable に master
ブランチがあることがわかります。origin/master
に対してなにかフィーチャーを実装することにしたとしましょう。次にやることは、ローカルブランチを origin/master
から分岐して作ることです。
書式設定済み |
---|
$ git checkout -b INFRA-1001 origin/master INFRA-1001 $ git branch * INFRA-1001 master $ git remote show origin * remote origin Fetch URL: github:hazama/infra Push URL: github:hazama/infra HEAD branch: master Remote branches: INFRA-1000 tracked master tracked Local branches configured for 'git pull': INFRA-1001 merges with remote master master merges with remote master Local refs configured for 'git push': master pushes to master |
...
アーカイブ
情報 |
---|
GitHub Enterprise 11.10.300 でアーカイブダウンロード機能が搭載されました。 |
レポジトリではなく、ファイルだけを取得する git archive
機能は GitHub では提供されていません。クローンしてください。では提供されていません。クローンしてください。
毎日のビルドにつかうなら、こんな感じ。svn export
よりむしろ高速です。
...
- レポジトリは小分けにする
GitHub では誰でも自由にレポジトリを作れるので、関連性の薄いモジュールをひとつのレポジトリで管理する必要はありません。
小分けにしている方が、フォークやクローンが速くて良いです。 - 共有レポジトリの変更は PULL リクエストで
いきなり master に PUSH するのは止しましょう。
ブランチから PULL リクエストを投げて、レビューを受けるようにしてください。 - むやみに共有レポジトリをフォークしない
リソースがもったいないので、大きなレポジトリはむやみにフォークしてはいけません。
PUSH 権限がない別のチームのレポジトリに PULL リクエストを投げるようなときに、フォークしましょう。
...
Tips
共有レポジトリの変更(PULLリクエストとか)を追いたい
...