去年就看了git也用了它,但是由于工作使用svn,只有在平时学习的时候才用到git.现在总结下:
版本控制发展的3个阶段;
第一个阶段:Local version control diagram.
第二个阶段:Centralized version control diagram
第三个阶段:Distributed version control diagram.
由此我们看到 Git 管理项目时,文件流转的三个工作区域:Git 的本地数据目录,工作目录以及暂存区域:
文件的生命周期:
Git add是到暂存区
Git ci 是到 本地库
git push origin master 是到推送的版本库
Git 命令别名
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
$git config --global alias.last 'log -1 HEAD'
自动完成: source
~/.git-completion.bash
~/.git-completion.bash
命令
|
例子
|
含义
|
git config --global
user.name "John Doe"
|
|
设置名称
|
Gitconfig—global
user.email johndoe@example.com
|
|
设置邮件
|
git init
|
|
某个项目开始用 Git 管理
|
git clone
git://github.com/schacon/grit.git
|
|
从远程 clone 到本地
|
cat .gitignore
|
|
忽略某些文件
|
git diff 、git
diff --cached |
|
比较:
前者是 : 修改到 暂存。
后者是 暂存到库
|
Git commit
|
git commit –amend:重新提交。
git commit –a :后者跳过暂存
git commit -m :写注释 提交
|
|
git rm 、git
mv |
|
删除和该名称
|
git log
|
-p 2 :显示最近的两次的提交。
git log --pretty=oneline :显示所有的提交及注释
|
|
git tig
|
git tag –l ‘’v.1.4.2* :查下标签列表
git tag -a v0.1 -m "my version 0.1" :含附注类型的标签
|
|
git romote -v
|
Git remote add pd git://gitth:asas/
Git remote –v 看信息
Git fetch pd;
Git remote show origin 看远程仓库的信息
Git remote rename pb paul 换名称
Git remote rm pual 删除远程的镜像
|
|
git branch
|
git branch:显示当前分支清单
git branch name :简历一个新的分支
git branch –d name :删除 name分支,如果 name 有未合并的内容不会删除
git branch –D name: 强制删除
git branch -- merged :检查哪些分支被合并到当前分支
git branch -- no-merged :哪些分支没有和并
|
|
git merge
|
git merge name :当name 分支合并到当前分支
|
|
git fatch
|
git fatch origin 取得远程的分支
|
|
git push
|
git push origin master:master :推送
|
|
git checkout
|
git checkout –b myfix origin/serverfix :从远程分支创建一个分支
|
|
git rebase
|
git rebase – onto master server client :检出 client 分支,找出 client 分支和 server 分支的共同祖先之后的变化,然后把它们在 master 上重演一遍
永远不要衍合那些已经推送到公共仓库的更新。
|
|
git stash
|
git stash drop stasg@{0}:删除 0 号储藏。
储藏
|