gitに関するあれやこれ

enpitのあたりからgitを使い始めてから結構たったので、なんか書いとく

とりあえず、gitやGitHubが使える環境になっている前提で書きます。 (環境構築は下の見ればできるんじゃない?)

qiita.com

gitの基本的な使い方

gitの使い方は基本的に以下の通り

  1. git add <ファイル名> 変更を登録したいファイルを指定する(全ファイルを指定する場合は*でOK)。
  2. git commit -m <コミット名> 先のコマンドで登録したファイルの変更を確定する。
  3. git push <ブランチ名>

gitでのファイル変更はファイル内の内容の変更だけでなく、追加や削除も含まれている。
git commitの場合は-mを指定しないとコミット名を設定できない。 また、コミットするときは機能ごとに分けて行なった方がいい (ページ作成なら、レイアウトに関するファイル群をコミット、処理内容に関して変更したファイル群をコミットといった具合)。

最初の頃に困ったのは、master等の現在作業中のブランチ元が更新されたときのブランチの修正方法。 最初はもう一回クローンし直して、作業内容をコピペするとかいうアホなことをしていたが、ブランチ元を更新すれば簡単に修正できる。

  1. git pull <元のブランチ> masterが更新されたなら、自PCのmasterを更新する。
  2. git checkout <ブランチ名> ブランチの変更
  3. git merge <01のブランチ> 親ブランチの更新内容を現在のブランチにも反映

gitの初期設定

gitで管理するにあたって、最初の設定は非常に重要だと毎回思い知らされる。
特に、SwiftやUnityとかだとそれが顕著に表われてくる。 gitの設定をせずにそのまま管理し始めると、個人の設定ファイルもそのままコミットされて修正するのも大変だし、 GitHubにアップロードできるファイルサイズは決まっているため、ライブラリも管理させてしまうとアップロードできなくて詰む(抜け道はあるにはあるけど)。
gitには管理させたくない(作業内容として追加や変更をさせたくない)ファイルがあるときに使用するのがgitのリポジトリを作った際にできる .gitignoreである。 このファイルにgitに管理させないファイルのパスを書いとけば、それで設定終了である。 あと、何も設定をせずにgitの更新を指定しまって、後から管理させないようにするにはgitのキャッシュを消す必要が出てくる。
.gitignoreの書き方はGitHubに各言語やIDEごとにテンプレが存在する。
github.com

後、http://gitignore.io では指定した言語やIDEのテンプレを出力してくれるのでこれをコピペしてもOK。
SwiftだとCocoaPodsによって導入したライブラリをgitで管理しないように設定している。