什么是Git?

  一般我们把版本控制器分为集中式版本控制器和分布式版本控制器。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上。

 
Git的基本使用

1.初始化

git config [--global] user.name “Your Name”
git config [--global] user.email “email@example.com”
--local  本地
--global 全局
--system 系统

2.生成版本库

git init
完成后目录下出现.git隐藏目录,即版本库。yuanli

3.添加文件到版本库

git status     查看文件修改状态

新建文件
git add newfile             //添加文件至缓存区
git commit -m ‘描述’      //提交文件至版本库
多文件添加
git add newfile1 newfile2…
git commit -m ‘描述’      //将缓存区的多次添加一次提交

4.查看文件修改状态

git diff filename          //查看工作区文件和库文件区别
git log [--oneline]       //查看git日志,加选则一行显示

5.撤销修改

目的:将尚未提交至版本库的修改撤回。
情况一:
        文件修改后尚未添加至缓存区
        git checkout -- filename          //在工作区撤销文件修改
情况二:
        文件修改已添加至缓存区
        git checkout HEAD [filename]      //撤回添加至缓存区的修改
        注:不指定文件名则撤回所有

6.删除文件

rm filename              //删除工作区文件
git rm filename          //删除版本库文件

7.分支管理

git branch                // 现实所有本地分之
git branch   分支名       //创建新的分之
git checkout 分支名       //切换分支
git merge    分支名       //合并指定分支到当前分支

注意:解决分之冲突必须手动解决

8.生成秘钥

ssh-keygen -t rsa

9.远程操作

git merote -v           //查看远程版本库信息
git push                //上传代码及快速合并

10.创建远程仓库

  git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库

  scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上

  mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库

  git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址

  git push -u origin master # 客户端首次提交

  git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track

  git remote set-head origin master # 设置远程仓库的HEAD指向master分支

  也可以命令设置跟踪远程库和本地库

  git branch --set-upstream master origin/master

  git branch --set-upstream develop origin/develop