如果多人合作时,git也是需要中间交换服务器来解决冲突合并,这不还是集中式版本控制吗?
而svn不是也可以将所有源码下载到本机,然后在本机修改,保存在本机上,为什么这个不能说是分布式,提交的时候不也是解决冲突合并就ok吗?
git和svn的区别:
https://blog.csdn.net/hellow__world/article/details/72529022
git详细使用说明:
https://my.oschina.net/gsbhz/blog/337719
git使用过程简介:
准备工作
1.下载git,并安装,安装完毕后,桌面空白处上右键,菜单出现Git GUI Here和Git Bash Here既安装成功
2.注册github账号(这一步不是必须,因为本文要配合github使用,所以需要github作为远程仓库)
Git基本常用命令如下:
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add test.txt 把test.txt 文件添加到暂存区去。
git commit –m “修改bug10879” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff test.txt 查看test.txt 文件修改了那些内容
git log 查看历史记录
git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat test.txt 查看test.txt 文件内容
git reflog 查看历史记录的版本号id
git checkout -- test.txt 把test.txt 文件在工作区的修改全部撤销。
git rm test.txt 删除test.txt 文件
git remote add origin http://github.com/username/gittest 关联一个远程库
git push –u origin master (第一次要用-u 以后不需要) 把当前master分支推送到远程库
git push origin master Git会把master分支推送到远程库对应的远程分支上
git clone http://github.com/username/gittest 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件