您的位置:首页 > 其它

版本控制之重要操作

2016-07-15 00:05 204 查看

1、git 操作

1.1 git命令行自动补全

注意: 一般高版本都会内置这一功能

从github上下载bash文件

curl -OLhttps://github.com/git/git/raw/master/contrib/completion/git-completion.bash


将此文件复制到你自己的用户主目录(自定义即可)中,按照下面的示例,还应改名加上点:

cp git-completion.bash ∼/.git-completion.bash


并把
source ~/.git-completion.bash
添加到你的 .bashrc 文件或者开机启动文件中

1.2 查看远程git 仓库地址

git branch -vv


1.3 推送本地提交分两种情况:

如果本地分支与关联的远程分支名字相同则用:

git push origin <本地分支名or远程分支名>


如果不相同则用:

git push origin <本地分支名>:<远程分支名>


1.4 推送本地分支到远程仓库

git push origin <本地分支名>
//远程分支名默认与本地相同

git push origin <本地分支名>:<远程分支名>


1.5 删除远程分支

git push orign  :<远程分支名>
//还有其他形式

1.6 删除本地分支

git branch -d/-D <本地分支名>


1.7 跟踪远程一个分支

git branch --track <本地新分支名(注意本地还没有这个分支)> origin/<远程分支名>


注意: 它会自动从
origin
抓取(fetch)内容,再把远程的
origin/<分支名>
分支合并进(merge)本地 的
<分支名>
分支.当要把修改推送(push)到origin时, 它会将你本地的
<分支名>
分支中的修改推送到origin的
<分支名>
分支里,而无需指定它(origin).

1.8 拉取远程分支并且在本地是新的与本地其他分支不同

即: 在本地建立一个干净的分支,并跟踪远程的分支

git checkout origin/<远程分支名> -b <本地分支名>


注意: 其实1.7能起到同样的效果,但是区别是什么呢?我的猜测1.7是根据git fetch拉取下来的快照在本地复制到新的分支上,而1.8是真正的拉取远程分支来在本地新建—-有待验证!!

1.9 创建一个空白分支

参考: http://gitbook.liuhui998.com/5_1.html

git symbolic-ref HEAD refs/heads/newbranch

rm .git/index

git clean -fdx

<do work>

git add your files

git commit -m 'Initial commit'


1.10 删除本地tag

git tag -d <tag名>


1.11 用push, 删除远程tag

git push origin :refs/tags/<tag名>


2、 SVN

2.1 执行SVN up和svn merge等命令出现在首位置的各字母含义如下:

“ ” 无修改

“A” 新增

“C” 冲突

“D” 删除

“G” 合并

“I” 忽略

“M” 改变

“R” 替换

“U” 表示从服务器收到文件更新了

“X” 未纳入版本控制,但被外部定义所用

“?” 未纳入版本控制

“!” 该项目已遗失 (被非 svn 命令所删除) 或是不完整

“~” 版本控制下的项目与其它类型的项目重名

2.2 丢弃对一个文件的修改:

svn revert <文件名>


2.3 如果你希望恢复一整个目录的文件,可以使用–depth=infinity选项:

svn revert --depth=infinity .


2.4 出现如下错误:

svn: run ‘svn cleanup’ to remove locks (type ‘svn help cleanup’ for details)

则执行:
svn cleanup
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: