集中式版本库模式,如CVS、SVN。在这种模式中,所有的程序员都会把他们的改动提交到服务器上的一个公共版本库中。具体来说,每一个程序员在本地有一个工作目录树,其内容是改版本库中最新的代码。当他们在工作目录树中完成代码修改后,就把改动提交到该版本库中。
分布式版本控制系统,如git。使用分布式版本控制系统,每个人都会在本地有自己的版本库,而不是连接到服务器上的一个公共版本库。所有的历史记录都存储在本地的版本库中。向版本库提交代码无须连接远程版本库,而是记录在本地的版本库中。
在最底层,Git记录和跟踪版本库中组成文件的各部分内容,而其他众多版本控制工具则是以文件为单位存储。
#安装
yum install git-core
#配置全局用户名和地址邮件地址
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
#在命令行中使用不同颜色显示不同内容
git config --global color.ui "auto"
#初始化新版本库
git init
#克隆版本库
git clone <repository url>
#在本地版本库中设置远程版本库的别名
git remote add <remote repository> <repository url>
#添加新文件或暂存已有文件上的改动,然后提交
git add <some file>
git commit -m "<some message>"
#列出本定分支
git branch
#列出远程分支
git branch -r
#列出所有分支
git branch -a
#基于当前分支(的末梢)创建新分支
git branch <new branch>
#检出另一条分支
git checkout <some branch>
#把另一条分支合并到当前分支
git merge <some branch>
#删除分支
git branch -d <branch to delete>
#不论欲删除的分支是否已合并到当前分支
git branch -D <branch to delete>
#显示全部历史记录
git log
#显示当前工作目录树和暂存区间的差别
git diff
#显示工作目录树和版本库间的差别
git diff HEAD
#使用标签标记里程碑
git tag <tag version>
#显示全部标签
git tag
#从远程仓库同步
git pull
#更新到远程仓库
git push
.gitingore:在该文件中定义忽略的文件
.git/info/exclude:本地的版本库会忽略这类文件,同时又不会把此设置传播出去
git提供了三种与远程版本库通讯的协议
SSH git@github.com/tswicegood/mysite-chp6.git
git git://github.com/tswicegood/mysite-chp6.git
HTTP/HTTPS http://github.com/tswicegood/mysite-chp6.git
如何选择网络通信协议
如果希望速度最快,选择git协议
如果安全第一,SSH协议是最好的选择
如果不想更改防火墙限制规则,HTTP或HTTPS协议是唯一的选择
Linux下Github连接
#检查SSH keys
cd ~/.ssh
#备份并并移除已存在的SSH keys
ls
mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*
#生成新的SSH key
ssh-keygen -t rsa -C "your_email@youremail.com"
#添加你的SSH key到GitHub
cat ~/.ssh/id_rsa.pub
#测试
ssh -T git@github.com
参考资料
<<版本控制之道---使用Git>>
<<Git Community Book 中文版>>
Pro Git http://github.danmarner.com/section/toc/
http://github.com
https://help.github.com/articles/generating-ssh-keys
分享到:
相关推荐
git学习笔记
git学习笔记(git学习笔记).md
GIT学习笔记
个人github、git学习笔记。包含Github和git的基础命令和介绍。由于网络问题在国外很难插入图片,把源文件的pdf导出版本进行上传。
git学习笔记,适用于停留在没有接触过git的童鞋们,易于理解
Git中关于rebase, merge, cherry-pick, rm等的深入讲解
git学习笔记
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件
Git学习笔记目标规划,大学学习可以用到,也可以用于自我检测
Git学习笔记,网址:https://learngitbranching.js.org/?locale=zh_CN
Git安装,git学习笔记,zhang
git学习笔记
git学习笔记常用git指令 一.创建或clone版本库 1.在本地创建一个新的版本库 $git init(cd至需要用到的地址,文件夹,用git init初始化版本库) 2.克隆一个已经存在的版本库 $git clone git@github....
Git学习笔记.docx
git学习笔记总结-版本管理
Git学习笔记 包括各种常规操作,日常项目开发够用
git 学习笔记,适合新手入门,能够熟悉git基本指令,并将代码上传到 github,并在github上下载代码,并模拟了协同开发过程中使用 git ,仅供自己学习使用