FrontPage  Index  Search  Changes  RSS  Login

Git/Subversionコマンド対応表

SubversionのコマンドとGitコマンドの対応早見表です。 Subversionに慣れていることを前提としています。

SubversionコマンドGit/Cogitoコマンド
svnadmin create repo git-init (注1)
svn import url git-add. && git-commit
svn checkout url git-clone url
svn diff | less git-diff
svn status git-status
svn update git-pull
svn add file git-add file
svn rm file git-rm file
svn mv file git-mv file
svn commit git-commit -a または加えて git-push url (注2)
svn log | lesscg log
svn checkout -r tag git-checkout rev (注3)
svn blame filegit-blame file
svn copy trunkurl tagurl git-tag tag
svn copy trunkurl branchurl git-branch branch (注4)
svn switch branchurl git-checkout branch(注4)
svn merge -r N:M url git-merge branch

こうしてみると、 svn と git のコマンド体系は非常に似ていることが分かりま すね。Subversion 使用者は Git を比較的自然に覚えられるのではないでしょうか。

注1

git-init を実行すると、カレントディレクトリに .git というディレクト リが作成されます。 Subversion とは異なり中央集権のレポジトリを作成する必要はあ りません。 cg init を実行したその場所があなたのレポジトリです。

なお、git-init コマンドは以前 git-init-db コマンドでした。 古いバージョンの git の場合は git-init-db コマンドを実行してください。

注2

Subversionはレポジトリがひとつしかありませんが、Git では各個人がレポジトリを所 有しています(もしかしたら一人でいくつも持ってるかも)。 git-commit -a は自分のレポジトリへコミットするコマンドです。 git-push url は他人のレポジトリへコミットするコマンドです。

注3

git-checkout tag コマンドを実行すると、 HEAD がどのブランチにも存在 しない状態 (no branch) になります。 元に戻すには git-checkout branch として、任意の branch の先頭に移動 しましょう。

注4

cvs では branch の作成とチェックアウトをふたつのコマンドで実行する必要が ありました。git では、上記対応表のように二段階で実行することも可能ですが、 git-checkout -b branch とすることで、ひとつのコマンドで実行すること もできます。

ここから下は少し古い情報です。

以下は、SubversionのコマンドとCogitoコマンドの対応早見表です。 Subversionに慣れていることを前提としています。

SubversionコマンドGit/Cogitoコマンド
svnadmin create repo && svn import url cg init (注1)
svn checkout url cg clone url
svn diff | lesscg diff
svn statuscg status
svn updatecg update
svn add file cg add file
svn rm filecg rm file
svn mv filecg mv file
svn commitcg commit または加えて cg push branch (注2)
svn log | lesscg log
svn checkout -r tagcg seek rev (注3)
svn blame filegit blame file
svn copy trunkurl tagurlcg tag tag
svn copy trunkurl branchurl cg switch -r HEAD branch
svn switch branchurlcg switch branch
svn merge -r N:M urlcg merge branch

こうしてみると、 svn と cg のコマンド体系は非常に似ていることが分かりま すね。Subversion 使用者は Git/Cogito を比較的自然に覚えられるのではない でしょうか。

注1

cg init を実行すると、カレントディレクトリに .git というディレクト リが作成されます。 Subversion とは異なり中央集権のレポジトリを作成する必要はあ りません。 cg init を実行したその場所があなたのレポジトリです。

注2

Subversionはレポジトリがひとつしかありませんが、Git では各個人がレポジトリを所 有しています(もしかしたら一人でいくつも持ってるかも)。 cg commit は自分のレポジトリへコミットするコマンドです。 cg push branch は他人のレポジトリへコミットするコマンドです。

注3

cg seek rev は新たに cg-seek-point というブランチを作ります。 引数なしで cg seek を呼ぶと HEAD ブランチに戻ることが出来ます。

参考ページ

Last modified:2007/12/30 23:23:31
Keyword(s):
References:[Diary/2006-10-04] [SideMenu] [Git] [Diary/2006-10-03]