纪录git svn的常用操作

git-svn常使用命令

git svn clone https://192.168.1.254/svn/xxx -T trunk -b branches -t tags --prefix=svn/

git svn rebase

git svn dcommit

git stash show

git stash pop

git checkout -b 新版本 master(创建一个版本)

git reset --hard HEAD

git rebase --abort (回到rebase执行之前的状态)

git config --list

git merge master

git remote add origin ssh://[email protected]/mongodb/githome/ktsg.git

git fetch origin devel:devel (本地devel分支 上传到远端 devel分支 无则新建)

git push origin devel

git branch --set-upstream-to=origin/devel devel (将本地的devel分支 与远端的origin/devel分支建立关系)

git push -u origin devel (与-set-upstream-to相似 ,等价于 git push origin devel + git branch --set-upstream-to=origin/devel devel)

git log --pretty=oneline 文件名 (列出文件的所有改动历史)

克隆 指定的远程分支(只克隆远程仓库的一个指定分支,而不是整个仓库分支)

git remote add -t dev -f origin url

git checkout dev

开始一个无历史的新分支(无之前分支的历史纪录)

git checkout --orphan dev

使用rebase推送而非merge(减少非必要的merge)

git pull --rebase

您也可以将某条branch配置为总是使用rebase推送:

git config branch.dev.rebase true

检测 你的分支的改变是否为其它分支的一部分(+ 指示没有出现在所给分支中,反之,- 就表示出现在了所给的分支中了)

git cherry -v dev

输出两个提交间的改变(如果你需要输出某两个提交间的改变时, 实际上就是把两个版本间的差异文件导入到latest.zip)

git archive -o ../latest.zip 新日志 $(git diff --name-only 老日志 新日志) 

输出最后一次提交的改变(输出最近提交的修改内容到一个zip文件中,原理同上)

git archive -o ../latest.zip HEAD $(git diff --name-only HEAD^)

无切换分支的从其它分支Checkout文件

git checkout 当前分支 -- 要checkout的分支 

git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作

git cherry-pick commit_id(其他分支的日志id)

git config --global push.default simple(没有指定分支时,只有当前分支会被 push 到你使用 git pull 获取的代码)

git log --stat(查看提交文件的改动情况)

        -p 按补丁格式显示每个更新之间的差异。

        --stat 显示每次更新的文件修改统计信息。

        --shortstat 只显示 --stat 中最后的行数修改添加移除统计。

        --name-only 仅在提交信息后显示已修改的文件清单。

        --name-status 显示新增、修改、删除的文件清单。

        --abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

        --relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。

        --graph 显示 ASCII 图形表示的分支合并历史。

        --pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。



你可能感兴趣的:(SVN,git)