ソースコード管理
ソースコード管理には、CVS,SVN,git,VSSなどがあります。
今は「git」が主流となっている。
git
ツールとしては、Gitを視覚的に操作できる「SourceTree」を使用している。
gitの使い方
<html> <iframe src=“www.slideshare.net/slideshow/embed_code/key/us6QLyLgaRMCyy” width=“595” height=“485” frameborder=“0” marginwidth=“0” marginheight=“0” scrolling=“no” style=“border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;” allowfullscreen> </iframe>
<strong> <a href=“www.slideshare.net/kotas/git-15276118” title=“こわくない Git” target=“_blank”>こわくない Git</a> </strong> from <strong><a href=“https://www.slideshare.net/kotas” target=“_blank”>Kota Saito</a></strong> </div>
</html>
==== コミットメッセージ ====
Gitのコミットメッセージの書き方
以下のフォーマットとします。
1行目:変更内容の要約(タイトル、概要)
2行目 :空行
3行目以降:変更した理由(内容、詳細)
1行目の例
[fix]削除フラグが更新されない不具合の修正
* fix:バグ修正
* hotfix:クリティカルなバグ修正
* add:新規(ファイル)機能追加
* update:機能修正(バグではない)
* change:仕様変更
* clean:整理(リファクタリング等)
* disable:無効化(コメントアウト等)
* remove:削除(ファイル)
* upgrade:バージョンアップ
* revert:変更取り消し
最初のコミットは、「initial commit」とする。
Gitの最初のコメントは、"Initial commit"なのか、"First commit"なのか?
===== MarkDown確認 =====
README.md を書く際にプレビューで内容を確認する。
http://tmpvar.com/markdown.html
===== SourceTree =====
==== コミットメッセージの修正 ====
プッシュをしていないことが前提となる。
[コミット]をクリックして、[オプションのコミット]で[最新のコミットを修正]を選択する。
新たなコミットメッセージを入力し、[コミット]ボタンを押す。
SourceTreeでいろいろ取り消してみる
==== 使い方 ====
* Git入門(SourceTree の使い方)
* Gitによる複数人でのバージョン管理をSourceTreeを使って体験してみる
==== 空フォルダをコミット ====
空フォルダに空ファイル(.gitkeep)を作成してコミット。無視するファイルに「.gitkeep」を指定する。
※ファイル名は何でも構わないのですが、慣例的に「.gitkeep」というファイル名が用いられる。
Gitで空のディレクトリを管理する方法の復習
==== コミットをまとめる ====
プッシュをしていないことが前提となる。
編集を行いたい一つ手前のコミットを右クリックし[CommitAの子とインタラクティブなリベースを行う]を選んだ後、「Interactive rebase」画面が表示されます。
まとめたいコミットの新しいコミットの方を選択し、[前のコミットとスカッシュ]をクリックします。
[メッセージを編集]でメッセージを直しても日本語が文字化けしてしまうので、コミットメッセージの修正で日本語を書き直します。
※タグを指定すると枝分かれするので、タグ移動してあげれば枝分かれが解消されます。
SourceTreeでコミットをまとめる時のメモ
SourceTreeの使い方 | コミットの再編集・変更方法SourceTreeの使い方 | コミットの再編集・変更方法
==== ブランチをマージ ====
SourceTreeでバージョン履歴を分岐したりマージしたりする方法
==== Gitに含めないファイル ====
gitignoreは、Git の管理に含めないファイルを指定するためのファイル。
Visual Studio にて設定すべき .gitignore / .hgignore
インストーラーは除外対象外とする。
<code bach 変更箇所>
# Installshield output folder
#[Ee]xpress/
</code>
※NuGet パッケージは、復元できるのでコミットに含めない。
ASP.NET でソース管理システムへの NuGet パッケージのコミットを不要とする
==== Tag付け時の注意 ====
タグでバージョン番号を付けることで、GitBucketでバージョンごとのZIPファイルをダウンロードできるようになる。
※コミット漏れで同じタグ番号を付ける際に一旦タグを削除する。その時に「全リモートからタグを削除」にチェックしないと、タグを再作成しても、コミット漏れのファイルがZIPファイルに含まれない。
==== クローンすると落ちる ====
SourceTree 3.4.5以降だとクローンすると落ちる。3.4.6でも完全には直っていない。
対応として、SourceTree 3.4.4にする。