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失败