====== ソースコード管理 ====== ソースコード管理には、CVS,SVN,git,VSSなどがあります。\\ 今は「git」が主流となっている。 ===== git ===== ツールとしては、Gitを視覚的に操作できる「[[https://ja.atlassian.com/software/sourcetree|SourceTree]]」を使用している。 ==== gitの使い方 ====
こわくない Git from Kota Saito
==== コミットメッセージ ==== [[http://qiita.com/itosho/items/9565c6ad2ffc24c09364|Gitのコミットメッセージの書き方]] 以下のフォーマットとします。\\ 1行目:変更内容の要約(タイトル、概要)\\ 2行目 :空行\\ 3行目以降:変更した理由(内容、詳細)\\ 1行目の例 \\ [fix]削除フラグが更新されない不具合の修正 * fix:バグ修正 * hotfix:クリティカルなバグ修正 * add:新規(ファイル)機能追加 * update:機能修正(バグではない) * change:仕様変更 * clean:整理(リファクタリング等) * disable:無効化(コメントアウト等) * remove:削除(ファイル) * upgrade:バージョンアップ * revert:変更取り消し 最初のコミットは、「initial commit」とする。\\ [[http://sjk38.hateblo.jp/entry/2016/09/20/004053|Gitの最初のコメントは、"Initial commit"なのか、"First commit"なのか?]] ===== MarkDown確認 ===== README.md を書く際にプレビューで内容を確認する。\\ http://tmpvar.com/markdown.html ===== SourceTree ===== ==== コミットメッセージの修正 ==== プッシュをしていないことが前提となる。\\ [コミット]をクリックして、[オプションのコミット]で[最新のコミットを修正]を選択する。\\ 新たなコミットメッセージを入力し、[コミット]ボタンを押す。\\ [[http://d.hatena.ne.jp/yk5656/20140521/1402233587|SourceTreeでいろいろ取り消してみる]] ==== 使い方 ==== * [[http://celtislab.net/archives/20140527/git-sourcetree/|Git入門(SourceTree の使い方)]] * [[https://www.eureka-moments-blog.com/entry/2019/01/06/125725|Gitによる複数人でのバージョン管理をSourceTreeを使って体験してみる]] ==== 空フォルダをコミット ==== 空フォルダに空ファイル(.gitkeep)を作成してコミット。無視するファイルに「.gitkeep」を指定する。\\ ※ファイル名は何でも構わないのですが、慣例的に「.gitkeep」というファイル名が用いられる。\\ [[https://quartet-communications.com/info/topics/13642|Gitで空のディレクトリを管理する方法の復習]] ==== コミットをまとめる ==== プッシュをしていないことが前提となる。\\ 編集を行いたい一つ手前のコミットを右クリックし[CommitAの子とインタラクティブなリベースを行う]を選んだ後、「Interactive rebase」画面が表示されます。\\ まとめたいコミットの新しいコミットの方を選択し、[前のコミットとスカッシュ]をクリックします。\\ [メッセージを編集]でメッセージを直しても日本語が文字化けしてしまうので、[[it技術:システム開発:ソースコード管理#コミットメッセージの修正|コミットメッセージの修正]]で日本語を書き直します。\\ ※タグを指定すると枝分かれするので、タグ移動してあげれば枝分かれが解消されます。 [[http://seeku.hateblo.jp/entry/2015/10/14/091822|SourceTreeでコミットをまとめる時のメモ]]\\ [[https://ics.media/entry/4969|SourceTreeの使い方 | コミットの再編集・変更方法SourceTreeの使い方 | コミットの再編集・変更方法]] ==== ブランチをマージ ==== [[https://tonari-it.com/git-sourcetree-branch/#SourceTree-3|SourceTreeでバージョン履歴を分岐したりマージしたりする方法]] ==== Gitに含めないファイル ==== gitignoreは、Git の管理に含めないファイルを指定するためのファイル。\\ [[http://cointoss.hatenablog.com/entry/2012/09/12/083432|Visual Studio にて設定すべき .gitignore / .hgignore]] インストーラーは除外対象外とする。 # Installshield output folder #[Ee]xpress/ ※NuGet パッケージは、復元できるのでコミットに含めない。\\ [[https://blogs.msdn.microsoft.com/chack/2013/02/07/asp-net-nuget/|ASP.NET でソース管理システムへの NuGet パッケージのコミットを不要とする]] ==== Tag付け時の注意 ==== タグでバージョン番号を付けることで、GitBucketでバージョンごとのZIPファイルをダウンロードできるようになる。\\ ※コミット漏れで同じタグ番号を付ける際に一旦タグを削除する。その時に「全リモートからタグを削除」にチェックしないと、タグを再作成しても、コミット漏れのファイルがZIPファイルに含まれない。 ==== クローンすると落ちる ==== SourceTree 3.4.5以降だとクローンすると落ちる。3.4.6でも完全には直っていない。 対応として、SourceTree 3.4.4にする。