git svn 使用

钦海荣
2023-12-01
拉svn:
1、拉整个svn, 指定最后一个版本;
    git svn clone -s -r revid:HEAD http://XXXXXXX/svn/XXXXX
2、拉指定目录:
    git svn init  http://XXXXXXXXXXX/svn/XXXXXXXX    mydir
    git svn fetch 取最新的svn文件
使用:

1. git co -b 分支名称(默认为master) //拉一个分支

2. 修改代码后, git state -s 查看修改的; M

3. git add *** 将修改提交到本分支,再次查看 git state -s  , 此时状态为 MM

4. git commit -F ~/Description 提交到修改列表

5. git svn fetch, git svn rebase  更新svn;

6. git svn dcommit  真正提交到svn。

7. git co master 切换到 master分支。 git svn fetch, git svn rebase  更新svn;

8. git branch -D  分支名称 ,  删掉无用分支 git config --list

9.  查看已经提交到列表但是没有提交到svn的文件列表:
git log -4

解决冲突:

0. 提示冲突后, git sts 查看, UU的为冲突的;
M A.cpp
M  B.cpp
UU N.cpp
M  N.hpp

1、编辑冲突文件保留正确的内容, 如 NeAttrs.cpp;

2、 git add N.cpp

3、 再次查看, git sts, 状态正确;
M  A.cpp
M  B.cpp
M  N.cpp
M  N.hpp

4、  git rebase --continue; 变基(变成好基友 ~ ~!)

5、 git svn dcommit 提交;

export PAGER=cat
git log -4
git diff cae33 e7330                  注释: cae33 e7330  为两次的commitId 至少5位
git diff cae33 e7330 --stat   同上看缩略统计信息

解决一次git ci 的记录 git svn dcommit失败
 类似资料: