ブランチを作らない、ソースコードの単純な管理方法のメモ
目次 |
このページでの説明は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 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
リモートSubversionサーバよりリポジトリをローカルマシン上に取り出す
svn checkout https://example.com/svn/REPO_NAME LOCAL_DIR
以下、ローカルマシン上に展開されたSubversionディレクトリ(LOCAL_DIR)内で行う作業。
リポジトリの状態表示(追加・削除・変更の表示)
svn status
ファイル/ディレクトリを追加する
svn add [filename/dirname/*]
ファイル/ディレクトリを削除にする
svn delete [filename/dirname/*]
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リポジトリのディレクトリ内に移って (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