(作成:2017/09)
C#で個人的にコード開発を始めたくなって、自宅環境に色々導入してみた。
そのうちコードを世代管理して簡単に戻れるようにしたいと思い、Subversionの経験はあったけれど時代の流行に乗って(もう大分遅れてるケド)Gitに手を出してみた。
Install on Windows 10
WindowsでGitを使いたいので、以下のものをインストール。(Ver番号は適宜読み替えで)
- Git for Windows
サイトTopのDownloadから取得。
- Git-2.14.1-64-bit.exe - TortoiseGit
Downloadページから以下2つを取得。
- TortoiseGit-2.5.0.0-64bit.msi
- TortoiseGit-LanguagePack-2.5.0.0-64bit-ja.msi
Git for Windows
基本的にはTortoiseGitから操作するし、コマンドラインはBash on Windows使える。なのでgit.exeがコマンドプロンプトで使えれば良いかな。
TortoiseGit
Run first start wizard
を選択して Finish。以下のWizardが起動するので、取り敢えず置いといて。HTTP (URLs start with "
http://
" or " https://
") 蘭はそのままで。あまり使わなさそうだし。で、キーを作る場合。こんな画面が出るので RSA (2048bit) 設定のまま Generate を押下。
マウスを動かすとゲージが溜まり始めるので、最高潮になるまでぐりぐりする。
鍵ができたら、それぞれファイルとして保存しておく。このうち暗号鍵( Save private key で作った方)は決して外部へ漏らさないこと。認証時に相手側へ伝える必要があるのは公開鍵のみ( Save public key で作った方)。
- Save public key: (任意の名前).pub
- Save private key: (任意の名前).ppk
なお、RSA (2048bit) は今のところ安全性が高く一般的に使われる暗号化方式。
設定
TortoiseGit
- エクスプローラで右クリック
-TortoiseGit
-設定
コンテキストメニューの最上層の項目を消す
デフォルトだと右クリックメニューにクローン(複製)``ここにリポジトリを作成
がTortoiseGit
項目の外に出ているけれど、何だかキモいので全部TortoiseGit
配下に項目を出したい場合。
全般
-コンテキストメニュー
-コンテキストメニューに表示する項目
-すべてを選択/解除
: 未チェック
代替エディタを変更する
Notepad2よりサクラエディタとかにしたい時。
- 全般
- 代替エディター
- カスタム
: チェック, (エディタのフルパス)
アイコンセットを変更する
や、何かWin10のアイコンセットとかあったので。
アイコンオーバーレイ
-アイコンセット
-アイコンセット
: Win10
リポジトリ管理
TortoiseGitのメニューは、エクスプローラなどで右クリックすると出てくる。
リモートリポジトリはVSTS、masterブランチまで用意してあるとして、ひとまずよくやる作業をざっくりと。
masterブランチ用意の方法は拙サイト「Visual Studio Team Services - プロジェクト作成」参照。
clone
ssh経由でのcloneを実行する。(VSTSに公開鍵を登録しておく。)
VSTSへの公開鍵登録の方法は拙サイト「Visual Studio Team Services - 初期設定」参照。
TortoiseGit
-クローン(複製)
-すでに存在するリポジトリをクローン
-URL
: ssh://(アカウント名)@(VSTSのURL):22/_git/(リポジトリ名)
用意した暗号鍵を初めて使う場合はPC内にキャッシュされてないのでセキュリティアラートが出る。自分で用意したヤツなのではい
を押す。
なおローカルリポジトリを削除したい場合は、cloneで出来たフォルダをまるっと消すだけ。
branch
TortoiseGit
-ブランチを作成
メニュー長い。。。使うもの/使わないものはまた整理しよう。
-名前
-ブランチ
: test
-基点
-HEAD (master)
: チェック
-オプション
-新しいブランチに切り替える
: チェック
-説明
: テスト用ブランチ。
-OK
少し待ったら完了。
add
これはVS17から操作する場合はあまり意識しないけれど、Git管理外のファイルは管理下に置くようaddが必要。尤もそのままcommitしても途中で管理外ファイルの処遇を問い合わせられるので、敢えてadd単独で実行する必要はあまり無いのかも知れない。敢えて理由を付けるなら、ウーン備忘のため?
TortoiseGit
-追加
test.txtというのを置いてみた。他の.vs/配下ファイルは、VS17からリポジトリを見た時に追加された設定ファイル群。これも追加しとく。
-OK
少し待ったら完了。
commit
TortoiseGit
-コミット -> "(ブランチ名)"
checkout済ブランチにcommitする。
-コミット先
ブランチ名は要確認。
-メッセージ
: テストコミット。
-コミット
少し待ったら完了。
1つ前のcommitログを修正したい時
TortoiseGit
-コミット -> "(ブランチ名)"
-最後のコミットをやり直し
: チェック
参考
- mieki256's diary - git のコミットメッセージを修正したい。
reset
ローカルリポジトリに対するcommitミスなど、履歴を含め抹消して過去に戻したい時。
TortoiseGit
-ログを表示
-(戻りたいログ)
-"(ブランチ名)"をここへリセット
-リセットの種類
-Hard
: チェック
-OK
少し待ったら完了。
参考:
- TortoiseGitでローカルのコミットを破棄(無かったことに)する|IT底辺脱却ブログ
push
TortoiseGit
-プッシュ
-OK
少し待ったら完了。
rebase
2つ以上前のcommitログを修正したい時
TortoiseGit
-ログを表示
- 修正したいリビジョンの1つ前を選択して"(ブランチ名)"をここにリベース(付け替え)
今回は「名前空間 サンプル」を「名前空間 サンプル1」に変更したい、ということで。