实际开发中 Git 和 SVN 常用指令记录

基于工作需求,在下常常需轮替使用git和svn两个版本控制工具,不时用到一些指令,遂在此作些记录,不定期更新。

一、git

1、远程仓建立

git init --bare project1.git  # 加.git后缀属于约定俗成,其本质是文件路径。

2、清理与 git 相关的文件和目录

find ./ -iname .gitignore | xargs rm
find ./ -iname .git | xargs rm -rf

在下把原在svn库中的项目,上传到git远程库时,常常用到上述指令。

第一条指令,在当前目录及其所有子目录中查找所有名为 .gitignore 的文件(不区分大小写),并将这些文件删除。

第二条指令,在当前目录及其所有子目录中查找所有名为 .git 的文件和目录(不区分大小写),并强制递归删除它们。

3、建立仓库

git clone git@server:project1.git
git init
git add .
git commit -m "init commit"
vim .git/config
增加以下内容
[remote "origin"]
        url = git@xxx.xxx.xx.xxx:/git/android
        fetch = +refs/heads/*:refs/remotes/origin/*

ssh-keygen -t rsa 
ssh-keygen -t rsa -C "xxx@xxx.com"

git push origin master

上述命令,主要用于:

克隆远程新建立好的仓库;

初始化这个Git 本地仓库;

添加文件并提交到本地仓库;

配置远程仓库信息;

生成 SSH 密钥进行身份验证;

最后将本地仓库的内容推送到远程仓库。

4、git常用命令

git log	查看历史提交中的修改记录

git show <commit-hash>	查看某个特定提交的差异性

git diff <commit1> <commit2>查看两次提交之间的差异

git diff <branch1> <branch2>	查看两个分支之间的差异

git status -uno	只查看修改的文件

二、svn

1、svn patch 到 git 的合并方法

svn diff -r 3563:3564 > 1_test.patch	生成从版本 3563 到 3564 的补丁文件
patch -p0 < 1_test.patch	-p0 表示不剥离任何路径前缀(我常用)
patch -p1 < 1_test.patch	-p1表示要从当前目录查找目的文件,不包含patch中的最上级目录(夹)

2、svn常用命令

svn revert -R .    将本地svn代码库中所有修改清理掉,恢复到与 SVN 服务器上最新版本一致

没有列出来的,或是过于简单,或是没怎么用得到。

至此,待续......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值