Git : Git-SVN を利用する2021/06/18 |
サーバー側が Subversion リポジトリを使用している場合に、クライアント側で Git-SVN
をインストールすると、Subversion リポジトリに対して Git のワーキングリポジトリを作成して利用することができます。
|
|
[1] | クライアント側で Git-SVN をインストールしておきます。 |
[root@node01 ~]# dnf -y install git-svn
|
[2] | 当例では Subversion サーバー側で [svnserve] が稼働中であることを前提に進めます。(必須ではない) また Subversion サーバー [dlp.srv.world] 上の [/var/svn/repos/project] リポジトリに対して操作します。 |
# [git svn ***] で SVN リポジトリからクローン [redhat@node01 work]$ git svn clone --username cent svn://dlp.srv.world/repos/project Initialized empty Git repository in /home/redhat/work/project/.git/ Authentication realm: <svn://dlp.srv.world:3690> 09a8137a-ff45-4285-b3cb-806282b70600 Password for 'cent': W: +empty_dir: trunk r1 = 7aa41618bb867e3ec01209303e607adc0e4f22ec (refs/remotes/git-svn) W: +empty_dir: branches r2 = 3c53baef4ff72b4ca5047c1a957978f71b2c573d (refs/remotes/git-svn) W: +empty_dir: tags r3 = 5e1d56e9d4f03a7ffffd81956e93b436e419e268 (refs/remotes/git-svn) A trunk/testfile.txt r4 = fadd3f2e6ef257cac63bf2e24ac70b5db719ea66 (refs/remotes/git-svn) A trunk/test.txt r5 = d00a6edb62a9023fd14dd2e6c9cb22a5bd103845 (refs/remotes/git-svn) A trunk/index.html r6 = 141d0f8360574b5ab9cef8cb641a5c5b2f03f843 (refs/remotes/git-svn) M trunk/index.html r7 = 945dea8f9dfdf6d4c096ba180d971dcbde63aee0 (refs/remotes/git-svn) M trunk/index.html r8 = 57c85479ed457a4ce6da3fd3caadd0ff33ef686f (refs/remotes/git-svn) Checked out HEAD: svn://dlp.srv.world/repos/project r8 creating empty directory: branches creating empty directory: tags[redhat@node01 work]$ total 0 drwxrwxr-x. 6 redhat redhat 59 Jun 18 00:38 project[redhat@node01 work]$ cd project/trunk [redhat@node01 trunk]$ total 12 -rw-rw-r--. 1 redhat redhat 28 Jun 18 00:38 index.html -rw-rw-r--. 1 redhat redhat 10 Jun 18 00:38 testfile.txt -rw-rw-r--. 1 redhat redhat 10 Jun 18 00:38 test.txt # 適当にファイルを更新して 更新したファイルを [commit] [redhat@node01 trunk]$ echo "test file" >> testfile.txt [redhat@node01 trunk]$ git commit testfile.txt -m "update" [master 410626f] update 1 file changed, 1 insertion(+) # 更新を [push] する場合は [dcommit] [redhat@node01 trunk]$ git svn dcommit Committing to svn://dlp.srv.world/repos/project ... M trunk/testfile.txt Committed r9 M trunk/testfile.txt r9 = fb07d27722a78f87253ec294f2ae2ca0edd9944d (refs/remotes/git-svn) No changes between 410626f7cad3e7b7f02856cf3b5a2de833cc7552 and refs/remotes/git-svn Resetting to the latest refs/remotes/git-svn # 他人が更新したファイルを自身のローカルディレクトリにマージする場合は [rebase] [redhat@node01 trunk]$ git svn rebase M trunk/index.html r11 = 2b2b5566059d3c55de58ee32a2ceff4cc3bd717a (refs/remotes/git-svn) Successfully rebased and updated refs/heads/master. |
Sponsored Link |