teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2015/06/05 00:27

投稿

takotakot
takotakot

スコア1111

answer CHANGED
@@ -5,4 +5,17 @@
5
5
  例えば、「この機能追加(A)やっぱりいらない」となったときに、単一ファイルのバージョン管理では不十分で、変更に関連する複数のファイルを同時に変更することが必要になります。しかも、機能(A) の後に 機能(B) を追加していた時に、単純に過去への書き戻しでは、機能(B) の実装を消すことになってしまいます。
6
6
  バージョン管理システムを適切に使っていれば、手間を大幅に削減することが可能です。
7
7
 
8
- あまり凝った機能は覚えずに、add, commit, branch の基本だけ抑えて、バックアップに使いながら慣れていくのが良いのではないでしょうか。巻き戻したくなったときに、「git 巻き戻し」でしらべて、やってみればいいわけです。失敗しても、それこそ Dropbox がなんとかしてくれます。
8
+ あまり凝った機能は覚えずに、add, commit, branch(checkout) の基本だけ抑えて、バックアップに使いながら慣れていくのが良いのではないでしょうか。巻き戻したくなったときに、「git 巻き戻し」で調べて、やってみればいいわけです。失敗しても、それこそ Dropbox がなんとかしてくれます。
9
+
10
+ > 複数のファイルにまたがって影響が出るような場合のコード改変にも使えるということでしょうか?
11
+
12
+ > まだGitを勉強していないので詳しくは分かりませんが、
13
+ > 「機能毎にまとまってmasterにマージ」「そこだけリバート」というのは、要するにファイル全体ではなくて、一部分だけを元に戻したり出来る・・・ということでしょうか?
14
+ > だとしたら便利ですね!
15
+ > ただ便利ですがその分複雑にもなっていきそうな気がして、躊躇しています。
16
+ できます。便利で「使いたい」と思ったときに覚えればいいです。
17
+
18
+ 例えば、関数の名前を変更するリファクタリングを行いたいときに、リファクタリング前にコミット(C)しておき、リファクタリング後にコミット(D)しておけば、関数名を元に戻したいときには、いつでも、コミット(D) をリバートすれば、「コミットしたファイル全て」に対して、関数名を元に戻すことができます。
19
+
20
+ 逆に混乱することも、あるかもしれませんが、それを上回るメリットがあると、(使っている人は)思っています。コミットしかしない分には、作業を阻害することはまずありませんから、適当にやってみるとよいでしょう。こまめにコミットする癖をつけておけば、良いと思います(あとで `git rebase` 等でまとめるのは簡単です)。
21
+ `git checkout` と `git reset` は、ファイルの変更を伴うので、注意しながら利用して下さい。