常见git和svn命令

常见git命令:
创建分支: git branch mybranch
查询本地存在的branch:git branch
查询远程的branch:git branch -r
查询本地和远程branch:git branch -a
切换分支: git checkout mybranch
创建并切换分支: git checkout -b mybranch
切换到master分支:git checkout master
下载到当前目录:git clone
更新master主线上的东西到该分支上:git rebase master
更新mybranch分支上的东西到master上:git rebase mybranch
强制从git 中删除某个文件:git rm -f ‘files’
提交更新:git commit -a
查看提交的id:git log –oneline
对最近一次commit的进行修改:git commit -a –amend
查看 workspace 与 index 的差别:git diff
commit之后,如果想撤销最近一次提交(即退回到上一次版本)并本地保留代码:git reset HEAD^
合并分支:(merge from) git checkout master
git merge mybranch (merge from mybranch)
删除分支: git branch -d mybranch
强制删除分支: git branch -D mybranch
列出所有分支: git branch
查看各个分支最后一次提交: git branch -v
查看哪些分支合并入当前分支: git branch –merged
查看哪些分支未合并入当前分支: git branch –no-merged
从其他Git库的branch或tag或refs下载对象和引用到本地,但不会合并到本地的branch分支:git-fetch
从默认远程库fetch所有内容:git fetch
从origin远程库fetch所有内容:git fetch origin
更新远程库到本地: git fetch origin
从其他Git库的branch或tag或refs下载对象和引用,然后合并到当前分支:git pull
将远程的branch分支的最新版本取到本地的origin/branch分支里,同时合并到本地的branch分支:git pull
git pull = git fetch +git merge
在新基准的基础上,将本地基于旧基准的commits再做一遍:git rebase
推送分支: git push origin mybranch
取远程分支合并到本地: git merge origin/mybranch
取远程分支并分化一个新分支: git checkout -b mybranch origin/mybranch
删除远程分支:    git push origin :mybranch
rebase: git checkout mybranch
git rebase master (rebase from master)
举例: git checkout server
git rebase –onto master server client
git checkout master
git merge client (fostforward)
git rebase master server (checkout sever)
git merge server
git branch -d client
git branch -d server

常见svn命令:
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
简写:svn co

2、往版本库中添加新的文件
svn add file

3、将改动的文件提交到版本库
svn commit -m “LogMessage” [-N] [–no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
简写:svn ci

4、加锁/解锁
svn lock -m “LockMessage” [–force] PATH
svn unlock PATH

5、更新到某个版本
svn update -r m path
简写:svn up

6、查看文件或者目录状态
1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
2)svn status -v path(显示文件和子目录状态)
简写:svn st

7、删除文件
svn delete path -m “delete test fle”
简写:svn (del, remove, rm)

8、查看日志
svn log path

9、查看文件详细信息
svn info path

10、比较差异
svn diff path(将修改的文件与基础版本比较)
svn diff -r m:n path(对版本m和版本n比较差异)
简写:svn di

11、将两个版本之间的差异合并到当前文件
svn merge -r m:n path

12、SVN 帮助
svn help
svn help ci

13、版本库下的文件和目录列表
svn list path 显示path目录下的所有属于版本库的文件和目录简写:svn ls

14、创建纳入版本控制下的新目录
svn mkdir: 创建纳入版本控制下的新目录。
用法:
1、mkdir PATH…
每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。
2、mkdir URL… 创建版本控制的目录。
每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在。

15、恢复本地修改
svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。
用法: revert PATH… 注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录

16、代码库URL变更
svn switch (sw): 更新工作副本至不同的URL。
用法:
1、switch URL [PATH]
更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将 服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。
2、switch –relocate FROM TO [PATH…]
改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动 (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用 这个命令更新工作副本与仓库的对应关系。

17、解决冲突
svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH… 注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。

18、输出指定文件或URL的内容。
svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。 svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

19\删除目录下所有的 .svn 隐藏子目录

find . -name “.svn” -print0 | xargs -0 rm -rf

你可能感兴趣的:(Linux)