svn (十二)分支

Subversion 中没有分支的概念
分支的概念是用户使用 Subversion 做出来的.
创建分支: 用 cp 命令 复制一个库
切换分支: 切到不同分支对应的根目录(主分支对应/trunk,其他分支对应/branches/xxx ,xxx 为分支名),并开发.

svn cp -m "create branch"  svn://192.168.2.25/webphp/trunk  svn://192.168.2.25/webphp/branches/future

1.创建分支
[pop@centos77 pro1]$ svn cp -m "create branch"  svn://192.168.2.25/webphp/trunk  svn://192.168.2.25/webphp/branches/future


2.分支提交
[pop@centos77 future]$ echo 1111 >> file2
[pop@centos77 future]$ echo 2222 >> file4
[pop@centos77 future]$ cat file2 
Mon Mar 16 13:48:21 CST 2020
1111
[pop@centos77 future]$ cat file4 
Mon Mar 16 13:48:15 CST 2020
Mon Mar 16 14:16:50 CST 2020
2222
[pop@centos77 future]$ sm  -m "commit 1 in branch-future"       
Sending        file2
Sending        file4
Transmitting file data ..
Committed revision 20.
[pop@centos77 future]$ echo 111 > file 
[pop@centos77 future]$ sm  -m "commit 2 in branch-future" 
Sending        file
Transmitting file data .
Committed revision 21.
[pop@centos77 future]$ s update 
Updating '.':
At revision 21.


3.主干提交
[pop@centos77 trunk]$ echo 3333 > newfile 
[pop@centos77 trunk]$ echo 2222 > file2
[pop@centos77 trunk]$ svn commit -m "co^C 
[pop@centos77 trunk]$ sm -m "commit1 in master"
Sending        file2
Transmitting file data .
Committed revision 22.
[pop@centos77 trunk]$ echo 1111 > newfile2
[pop@centos77 trunk]$ sm -m "commit2 in master" 
[pop@centos77 trunk]$ ^C
[pop@centos77 trunk]$ ss
?       newfile
?       newfile2
[pop@centos77 trunk]$ s add newfile newfile2 
A         newfile
A         newfile2
[pop@centos77 trunk]$ sm -m "commit2 in master"
Adding         newfile
Adding         newfile2
Transmitting file data ..
Committed revision 23.
[pop@centos77 trunk]$ s update 
Updating '.':
At revision 23.

4. 时不时的merge 主干 到 分支


[pop@centos77 future]$ svn merge svn://127.0.0.1/webphp/trunk   
Conflict discovered in '/home/pop/learn/svn/pro1/branches/future/file2'.
Select: (p) postpone, (df) diff-full, (e) edit,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: df
--- /tmp/svn-HRG9h6     Tue Mar 17 12:01:34 2020
+++ /home/pop/learn/svn/pro1/.svn/tmp/file2.tmp  Tue Mar 17 12:01:34 2020
@@ -1 +1,6 @@
+<<<<<<< .working
 Mon Mar 16 13:48:21 CST 2020
+1111
+=======
+2222
+>>>>>>> .merge-right.r23
Select: (p) postpone, (df) diff-full, (e) edit, (r) resolved,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: e
33333
Select: (p) postpone, (df) diff-full, (e) edit, (r) resolved,
        (mc) mine-conflict, (tc) theirs-conflict,
        (s) show all options: r
--- Merging r19 through r23 into '.':
U    file2
A    newfile
A    newfile2
--- Recording mergeinfo for merge of r19 through r23 into '.':
 U   .



[pop@centos77 future]$ ss
 M      .
M       file2
A  +    newfile
A  +    newfile2
[pop@centos77 future]$ s diff
Index: .
===================================================================
--- .   (revision 21)
+++ .   (working copy)

Property changes on: .
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /webphp/trunk:r19-23
Index: file2
===================================================================
--- file2       (revision 21)
+++ file2       (working copy)
@@ -1,2 +1 @@
-Mon Mar 16 13:48:21 CST 2020
-1111
+3333
[pop@centos77 future]$ sm -m "merge master to branch" 
Sending        .
Sending        file2
Adding         newfile
Adding         newfile2
Transmitting file data .
Committed revision 24.
[pop@centos77 future]$ 
[pop@centos77 future]$ ls
dir1  dir.txt  dri2  file  file2  file4  newfile  newfile2
[pop@centos77 future]$ s update
Updating '.':
At revision 24.



[pop@centos77 future]$ s log  |less
------------------------------------------------------------------------
r24 | (no author) | 2020-03-17 12:04:24 +0800 (Tue, 17 Mar 2020) | 1 line

merge master to branch
------------------------------------------------------------------------
r21 | (no author) | 2020-03-17 11:57:05 +0800 (Tue, 17 Mar 2020) | 1 line

commit 2 in branch-future
------------------------------------------------------------------------
r20 | (no author) | 2020-03-17 11:56:09 +0800 (Tue, 17 Mar 2020) | 1 line

commit 1 in branch-future
------------------------------------------------------------------------
r19 | (no author) | 2020-03-17 10:13:48 +0800 (Tue, 17 Mar 2020) | 1 line





5. 在最后一次 merge 主干 到 分支后,马上将分支merge 到主干
将分支 merge 到 master
svn merge --reintegrate svn://127.0.0.1/webphp/branches/future

6. 删除分支
svn delete svn://127.0.0.1/webphp/branches/future  -m "Remove branches future,reintegrated with trunk in last Revision "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值