`
jja1982
  • 浏览: 112590 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Git学习笔记

 
阅读更多
集中式版本库模式,如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



















5
10
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics