SVN与GIT

Git是一个免费的、开源的分布式版本控制系统,目前越来越多的项目都在使用Git。
Git与SVN的不同点
SVN是集中式版本控制系统,版本库是放在中央服务器的,在这里保存着所有代码和历史版本信息。如果中央服务器出现了故障,这些信息将会丢失。即使你本地有从中央服务器取得过代码,虽然代码还在,但是历史版本信息确是没有的。当开始在某个项目下工作时,首先需要连接到中央服务器取出最新的文件,然后工作。工作完成后,需要把自己做完的活提交到中央服务器。拉取和提交这两个步骤都需要联网才能完成。
Git是分布式版本控制系统,没有中央服务器的概念。当一个Git客户端从远程Git仓库拉取代码后,这个客户端也就包含了远程GIt仓库的所有信息,包括代码和历史版本。 每一个Git客户端都是一个完整的代码仓库。即使某一个Git客户端挂了,也不会影响到其他客户端和远程仓库,只是在这个客户端开发的新代码没有了。而如果是远程仓库挂了,也不会像SVN那样失去所有的历史版本信息,因为每个客户端中都有这样的版本信息。前面说了,SVN拉取和提交代码是需要联网的,而Git在提交时是不需要联网的,因为提交到的是本地的代码仓库。只有在将本地的提交push到远程仓库时,才需要联网。
说了这么多,其实Git和SVN的不同点总结起来就是Git的每一个客户端都相当于SVN的中央服务器,都包含完整的代码仓库。SVN的每次提交都需要联网提交到中央服务器,而Git的每次提交都是提交到本地仓库。
Git常用命令
配置
配置用户名(- -global表示此配置适用于计算机的当前用户。如果不加- -global,表示此配置仅适用于当前git仓库)
git config - -global user.name “your name”

配置邮件地址
git config - -global user.email “your email address”

为某个命令配置别名(如 git config - -global alias.st status,配置完后就可以使用git st代替git status了)
git config - -global alias.xx [command]

查看Git配置
git config - -list [- -global]

编辑Git配置
git config - -edit [- -global]

分支
列出所有本地分支(前面有星号“*”的为当前工作分支)
git branch

列出所有远程分支
git branch -r

列出所有本地和远程分支
git branch -a

创建名为“name”的新分支
git branch [name]

切换到“name”分支
git checkout [name]

创建名为“name”的新分支,并切换到该分支
git checkout -b [name]

删除名为“name”的分支
git branch -d [name]

将“name”分支合并到当前分支
git merge [name]

推送“name”分支到远程(可以使用[:remote-name]指定远程分支的名称,否则远程分支名称与本地“name”分支相同)
git push origin [name][:remote-name]

删除“name”远程分支(与上一条命令比较,其实就是推了一个空分支到远程,相当于删除远程分支)
git push origin :[remote-name]

删除“name”远程分支
git branch -r -d origin/[remote-name]

日志
查看提交历史
git log

-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
git log -p -2

显示简要的增改行数统计
git log - -stat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值