(Linux) バージョン管理システムのコマンド メモ


戻る一つ前のメニューに戻る

ブランチを作らない、ソースコードの単純な管理方法のメモ

目次

共通事項

このページでの説明はGit, Subversion共にリモートサーバ上に存在するリポジトリを仮定しているが、環境に合わせてリポジトリURIを読み替える必要がある。

ローカルマシン上のリポジトリの例

file:///tmp/svn/REPO_NAME

リモートマシン上のリポジトリの例(Git)

https://example.com/git_dir/REPO_NAME
[USER@]example.com:git_dir/REPO_NAME.git

リモートマシン上のリポジトリの例(Subversion)

https://example.com/svn/REPO_NAME
svn+ssh://USER@example.com/svn/REPO_NAME

Git

リモートGitサーバよりリポジトリをローカルマシン上に取り出す

git clone https://example.com/git_dir/REPO_NAME LOCAL_DIR

以下、ローカルマシン上に展開されたGitディレクトリ(LOCAL_DIR)内で行う作業。
リモートGitサーバより、リポジトリのアップデート分を取り出しローカルGitリポジトリに適用する

git pull

リポジトリの状態表示(追加・削除・変更の表示)

git status [-s]
-s:簡潔に表示

管理されているファイル一覧

git ls-files [-m]
-m:変更されたファイル

ファイル/ディレクトリを追加する

git add [filename/dirname/*]

ファイル/ディレクトリを削除にする(ファイル自体も削除)

git rm [filename/-r dirname]

ファイル/ディレクトリを削除する(ローカル上にファイルは残置)

git rm --cached [filename/-r dirname]

コミットしてリモートGitサーバに送信する

git commit -a [-m "コメント"]
git pull
git push origin master
※他者の変更内容を反映するため、必ずpullしてからpushする。

Subversion

リモートSubversionサーバよりリポジトリをローカルマシン上に取り出す

svn checkout https://example.com/svn/REPO_NAME LOCAL_DIR

以下、ローカルマシン上に展開されたSubversionディレクトリ(LOCAL_DIR)内で行う作業。
リポジトリの状態表示(追加・削除・変更の表示)

svn status

ファイル/ディレクトリを追加する

svn add [filename/dirname/*]

ファイル/ディレクトリを削除にする

svn delete [filename/dirname/*]

SubversionからGitに取り込み

リモートSubversionサーバから、ローカルマシンに取り込み

git svn clone https://example.com/svn/REPO_NAME [-T trunk_subdir] [-b branches_subdir] [-t tags_subdir] LOCAL_DIR
または
git svn clone https://example.com/svn/REPO_NAME -s LOCAL_DIR

-T/-b/-t はSubversionリポジトリが標準的なディレクトリ名では無い場合に指定する。標準的なディレクトリ名の場合は -s を指定すればよい。つまり -s-T trunk -b branches -t tagsと等価である。
-T/-b/-tはそれぞれ--trunk=trunk_subdir --branches=branches_subdir --tags==tags_subdirと書いてもよいし、-s--stdlayoutと書いてもよい。

この例では--prefixが指定されていないため--prefix=origin/が自動的に指定される。(警告表示が出る)

ローカルマシンからリモートGitサーバに転送

ローカルマシン上のGitリポジトリのディレクトリ内に移って (cd LOCAL_DIR)から、

git remote add origin https://example.com/git/REPO_NAME
git push origin --all
git push origin --tags

なお、ローカルマシンに展開されているGitリポジトリがSubversionではなく別のGitからcloneしたものの場合は、次のコマンドでリモートブランチの設定を一旦解除してからgit remote add origin …する必要がある。

git remote rm origin