记住这三个概念,工作区(Working Area),暂存区(Stage),版本库,通过add,工作区的变化到暂存区,通过commit暂存区的变化到本地版本库,通过push本地版本库的变化到远程版本库。下面是常用的命令。
保存进度恢复工作进度
#把工作区和暂存区的内容保存到进度列表里
git stash save “description”
#列出stash里的所有项
git stash list
#把进度恢复出来并删除进度列表中的项
git stash pop
#只把进度恢复出来,不删除进度列表中的项
git stash apply
#丢弃进度列表中的相关项
git stash drop
查看变化
#暂存区与工作区相比较的变化
git diff
#版本库和工作区相比较的变化
git diff head
#版本库和暂存区相比较的变化
gti diff -cached
提交变化
#把工作区中文件fielname的变化提交到暂存区
git add filename
#把本地文件的变更(修改,删除)保存到暂存区
git add -u
#把本地文件的变更(修改,删除,新增)保存到暂存区
git add -A
#交互式命令
git add -i
#把暂存区的变化提交到版本库
git commit
#把版本库提交到远程仓库
git push
恢复内容从版本库或暂存区到暂存区或工作区
#把暂存区的内容覆盖到当前工作区
git checkout -- filename
#切换分支
git checkout hongchangfirst/vice
查看日志
git log --graph --oneline --decorate
查看当前状态
git status
重置已有提交
#改变master的指向,也替换暂存区和工作区
git reset --hard
#只改变master的指向
git reset --soft
#只改变master的指向和暂存区的内容,但不改变工作区的内容
git reset
git reset --mixed
里程碑
#对某一次提交建立一个标签
git tag -m “description” old_milestone
删除文件
#只在工作区中删除
rm filename
版本克隆与同步
git clone repository workingdirectory
git pull=git fetch + git merge
git push
清理(无引用的)悬挂的松散对象
#查看悬挂松散对象
git fsck
#清理悬挂松散对象
git prune
创建分支,切换到分支上
#创建分支
git branch branchone
#切换到分支上
git checkout branchone
#创建分支branchone并切换到其上
git checkout -b branchone
#删除分支
git branch -d branchone
查看哪些提交领先于远程版本
git cherry
git的文件忽略(.gitignore)只对未入库的文件起作用。
git对象库的四类对象:commit,blob,tag,tree
原文:http://blog.csdn.net/hongchangfirst/article/details/8276502
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
三分钟教你学Git(二)之命令索引,码迷,mamicode.com