git学习笔记
网址:http://git-scm.com/book/zh/v1
《Pro Git》--作者Scott Chacon
1、安装
mac 通过brew install git 安装 ———————homebrew(https://github.com/mxcl/homebrew)
2、git思想
直接记录快照,而非差异比较
Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。git把每次变化的文件作快照,保存指向快照的索引。不变的文件,对上次保存的快照作一连接
近乎所有操作都是本地执行
在 Git 中的绝大多数操作都只需要访问本地文件和资源,不用连网。在有网络的时候可推送到远程仓库。
时刻保持数据完整性
多数操作仅添加数据
文件的三种状态
三个文件状态:已提交(committed),已修改(modified)和已暂存(staged)
三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。
3、分支
Git 中的分支,其实本质上仅仅是个指向 commit 对象的可变指针。Git 会使用 master 作为分支的默认名字。
创建分支:git branch <分支>
切换分支:git checkout <分支>
将另一个分支的内容合并到本分支:先切换到要被合并内容的分支,然后git merge <另一分支>
查看已经merge到本分支的所有分支:git branch --merged
可以删除已经merge过的分支:git branch -d <分支>
查看没有merge到本分支的所有分支:git branch --no-merged
删除没有merge过的分支:git branch -D <分支>, 即强制删除
遇到冲突时 git status 查阅
4、远程版本库
远程拷贝:git clone URL
远程版本库添加分支 :git remote add <别名> <分支URL>
example:git remote add origin https://github.com/tmeme/test_project.git
查看分支 :git remote -v
5、SSH公钥
创建SSH key :ssh-keygen
然后系统提示输入文件保存位置等信息,连续敲三次回车即可 .
vim /Users/tangli/.ssh/id_rsa.pub 查看
6、创建测试项目推送gitbub
mkdir test_project
cd test_project
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/tmeme/test_project.git
git push -u origin master
7、其他常用命令
git pull 更新你的本地仓库至最新改动
git add <filename> 标记为合并成功
git diff <source_branch> <target_branch>
git tag 1.0.0 1b2e1d63ff 创建标签
git log
git fetch origin
git reset --hard origin/master
git config format.pretty oneline 显示历史记录时,只显示一行注释信息
git commit -m "代码提交信息"
git checkout -- file
可以丢弃工作区的修改