最近公司项目从git转移回svn上了。svn真心没有git好用,所以决定使用git svn来代替svn.
git是源于linux内核源码的管理,自然更适合在linux系统下使用。
在windows环境下,主要有2种方式:msysgit和cygwin内置的git(需要选择安装)。
个人建议使用cygwin git,msysgit的编码问题确实让人头痛。
当然,如果要使用图形工具Tortoisegit,就必须安装msysgit了。
cygwin配置:
(1)在/etc/profile末尾加上一行:. "$HOME/.bashrc"
(2)在$HOME目录下新建.bashrc文件,写入一行:source /etc/bash-completion.d/git
(3)set CYGWIN=tty notitle glob
set LANG=zh_CN
git及git-svn使用:
下载svn源码:git svn clone http://xxxx myproject (相当于svn checkout)
建立临时分支:git branch aaa
切换到临时分支:git checkout aaa
提交:git add .
提交确认:git commit
提交及确认:git commit -a (git add . + git commit,但新增文件必须要git add .)
切换回master分支:git checkout master
合并临时分支:git merge aaa
删除临时分支:git branch -d aaa
从svn更新: git svn rebase (相当于svn update)
提交至svn: git svn dcommit (相当于svn commit)
查看状态:git status
查看diff:git diff,git diff head
git svn rebase 冲突:
git add .
然后,再执行:
git rebase --continue
如果报告说没有修改内容,则换成执行:
git rebase --skip