LoginSignup
3
5

More than 5 years have passed since last update.

コマンド対応表:SVN vs Git(書きかけ)

Last updated at Posted at 2014-11-13

SVNとGitのコマンド名が似ていて理解しづらい!

Git の基礎勉強 ~ Git によるバージョン管理 ~」で勉強しながら「svnコマンドから探すgitコマンド」も参考にしつつ、ここではGitを使っていく流れに沿ってコマンドを対応させたいと思います。

最近はTortioseSVNに頼りっきりで、コマンド名を覚えていないものが多々・・・

新規作成→作業→追加→反映

マスターのリポジトリと作業ディレクトリを作って編集して、マスターのリポジトリに反映する。

リポジトリを新規作成

  • git init
  • svn ???

みんなで触る、マスターなリポジトリを作る。

作業ディレクトリを作る

(※ここの説明には多分に憶測と誤解が含まれる可能性があります)

  • git clone
    • マスターのリポジトリ情報を完全コピー。
  • svn checkout
    • マスターの最新状態をコピー。

マスターなリポジトリから、自分が作業(作成・編集・削除)するためのローカルな環境を作成する。

作業内容を管理対象に追加する

  • git add
  • svn add

作業ディレクトリ上で新しく作ったファイルを、バージョン管理対象として認識させる。
Gitだと、編集するたびにAddしなきゃいけない気がしてるんだけど、勘違いかな?

作業内容をローカルリポジトリに反映する

  • git commit
  • (対応するSVNコマンドなし)

Gitがいいなと思う一番のポイントは、ローカルでコミット履歴を管理できること。
短い周期で修正→コミットを気兼ねなく繰り返すことが可能。

作業内容をマスターのリポジトリに反映する

  • git push
  • svn commit

SVNからの乗り換えで一番混乱するのがcommitとpushだと思う。
pushしてコミットするとか説明されてるしね。
あと、branchなのにmaster?とかmasterとHEADの違いとか。
同じ用語で意味が違うって混乱のもとね。

更新→衝突!→修正→反映

マスターのリポジトリから変更を取り込んだらコンフリクトしたので直す。

作業ディレクトリを更新して、ほかの人の変更を取り込む

  • git pull
  • svn update

git pullはfetchしてmergeしているらしいけど、まだそんなこと知らないので説明は省略。
svn updateも実は同じようなことしてるよね。

衝突を修正する

単独のコマンドはない。

1 2 3 4 5
git status 修正 git add git commit git push
svn status 修正 svn resolve 対応コマンドなし svn commit
衝突状況の確認 手動修正 衝突解消を通知 ローカルコミット マスターコミット

ブランチ→修正→反映

ブランチを作って、何か修正して、マスターのリポジトリに反映する

ログ確認

作業→戻す

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5