Git是分布式版本控制系统,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,其他的CVS及SVN都是集中式的版本控制系统
如果是个人的开源项目,可以使用免费的远程仓库,如:
github:https://github.com
码云:https://gitee.com
生成/添加SSH公钥
也可以在局域网自己搭建本地代码仓库.
使用情况:(参考:git教程)
1.先有本地库,后有远程库的时候,如何关联远程库
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!
2.先创建远程库,然后,从远程库克隆
$ git clone git@github.com:michaelliao/远程项目.git
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
在你的电脑上装好git 大致流程是:
1、 在github上创建项目
2、 使用$ git clone https://github/xx账号/xx项目.git克隆到本地
3、 编辑项目
4、 将改动添加到暂存区 git add .
5、 提交说明 git commit –m ""
6、将本地更改推送到远程master分支 git push origin
如果在github的remote上已经有了文件,会出现错误。此时应当先pull一下,即:
$ git pull origin master
然后再进行:
$ git push origin master
出现错误 error:src refspec master does not match any
原因分析:引起该错误的原因是目录中没有文件,空目录是不能提交上去的
Git常见操作:
$ makdir ~/hello-world //创建一个项目hello-world
$ cd~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit-m 'first commit' //提交更新,并注释信息“first commit”
$ git remote add origin git@github.com:defnngj/hello-world.git //连接远程github项目
$ git remote rm origin //删除远程github项目 origin(名称)
$ git remote -v //查看远程github项目
$ git push -u origin master //将本地项目更新到github项目上去
git修改远程仓库地址
方法有三种:
1.修改命令
git remote set-url origin [url]
例如:git remote set-url origin gitlab@gitlab.chumob.com:php/hasoffer.git
2.先删后加
git remote rm origin
git remote add origin [url]
3.直接修改config文件
当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
要检查已有的配置信息,可以使用
git config --list