git|git简单命令

git几个区说明:
工作区:git的工作目录(work directory)
暂存区:git暂存区stage,git add后添加到的区域,类似cache
本地版本库:git版本库(.git),git commit 提交到的区域
远程版本库: git的远程仓库
git config –global user.name “sdongwan”
向global config添加user.name配置
git config –global alias.ci “commit”
对git命令添加快捷方式(这里:git commit 可以直接用 git ci)
git config –unset –global user.email
删除global config中的user.name配置
git config –global –list
列出全部global config
git –help clone
查看clone命令的使用帮助
git help tutorial
查看git使用说明书
git init
初始化git本地版本库
git status
列出当前目录所有还没有被git管理的文件(没有被git add)和被git管理且被修改但还未提交(没有被git commit)的文件.
git add sdongwan.txt
将sdongwan.txt添加到暂存区( git add . 将目录下的文件全部添加到暂存区,.gitignore中的除外)
git rm –cache sdongwan.txt
删除暂存区的sdongwan.txt文件
git commit -m “info”
把暂存区的内容提交到版本库中
git commit –amend
修改commit附加的信息(将进入liunx文本编辑器,首先按住shirt键+“:”,然后再按住shirt +“I”进入insert模式,进行编辑文本,然后点esc退出编辑模式,按住shirt键+“:”,再输入w进行文本保存,然后shirt+“:”,输入q退出编辑器)
touch .gitignore
创建.gitignore文件
git log
查看git提交的日志
git reflog
打印出更详细的log
git log -1
输出1条git日志
git log 6d185e84c83e73dd568cc4ad865d9888db3bbbfa
查询某个commit的log
git log 6e7f5a1f1cac27c7504998fc..HEAD
查询从6e7f5a1f1cac27c7504998fc这次提交到现在之间的commit log
git log –since=”5 hours”
输出最近5个小时内的log
git log –before=”5 hours” -1
输出5个小时之前的最后一个commit log
git log –pretty=oneline
打印出日志格式为一行的日志

分支

【git|git简单命令】
git branch
查看本地分支
git branch -a
查看远程分支
git checkout name
切换分支
git branch sdongwan
新增一个sdongwan分支,但是没有切换到新增的分支上
git checkout -b name
创建并切换过去
git branch -m master mymaster
把master分支重命名未mymaster
git branch RB_1.0 master
从当前主分支上面创建一个RB_1.0分支,但是没有切换到新增的分支上(同上面的命令差不多)
git branch -d RB_1.0
删除RB_1.0分支
git branch -m test testConflict
把test分支重命名为testConflict分支
git branch -r
查看远程仓库的分支
git checkout sdongwan
切换到sdongwan分支
git checkout -b sdw master
创建一个sdw分支,并从master分支切换到这分支
git tag 1.0 sdongwan
在sdongwan分支末梢打上tag 1.0(打上标签后,即使删除了某个分支,也可以利用tag来回到打了标签的位置)
git tag
查看所有的tag
git rebase sdongwan
将sdongwan分支合并到当前master分支上(效果是直接从分支点,把分支的节点全部放入到分支点的后面)
git archive –format=zip –prefix=mysite-1.0/ 1.0 > mysite-1.0.zip
将工作区下的文件打包成一个zip文件
git archive –format=tar –prefix=mysite-1.0/ 1.0 | gzip > mysite-1.0.tar.gz
将工作区下的文件打包成一个tar文件
git clone git@github.com:sdongwan/GitLearn.git
克隆远程git仓库
git add -p
启动补丁模式,查看版本库中文件和工作区文件的变化(输入y直接把改变的文件添加到暂存区中);
git diff
比较工作目录下的文件(暂存的文件)与暂存区文件的差别
git diff –cached
比较版本库的文件与暂存区文件的差别
git diff HEAD
比较工作目录中文件(暂存和未暂存的文件)与版本库中文件的区别
git diff 6270181adda73d6a3336348a3483355f350b36a1
比较指定的commit版本与当前commit版本的区别
git mv sdongwan.txt dongwan.txt
修改文件的名字(暂存区的或版本库的),把sdongwan.txt改为dongwan.txt
git merge sdw
把sdw分支与当前分支合并
git mergetool
使用mergetool来解决合并冲突
git reset –hard 8ff24a6803173208f3e606e32dfcf82db9ac84d8
git回退到之前的某个commit
git blame test.txt
查询特定文件的历史信息
git revert -n HEAD
反转当前的一个提交(-n 表示保存在暂存区中,反转后,日志记录中仍然存在之前的log记录)
git reset –hard HEAD^
复位到当前提交之前的一次提交,好像提交没有发生过(日志记录中不存在之前的log记录)
git fetch origin master
拿取远程origin仓库master分支的最新代码(取完需要手动进行合并,下面的)
git merge origin/master
将origin上的master分支 merge 到当前 branch 上
git pull origin master
拉去远程仓库的代码(拉取代码并合并)
git remote add origin git@github.com:sdongwan/GitLearn.git
添加远程仓库
git push origin name
在name分支上向远程提交(远程git仓库将会创建name分支)
git clone -b name url
克隆远程git仓库指定name分支

    推荐阅读