查看、添加、提交、删除、找回,重置修改文件
显示command的help
git help command
显示提交内容
git show
显示某次提交的内容
git show $id
抛弃工作区某个文件的修改
git co – filename
抛弃工作区所以文件的修改
git co .
将工作文件的修改提交到本地暂存区
git add filename
将所有修改过的工作文件提交暂存区
git add .
从版本库中删除文件
git rm filename
从版本库中删除文件,但不删除文件
git rm filename –cached
从暂存区恢复到工作文件
git reset filename
从暂存区恢复所以文件到工作文件
git reset – .
恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git reset –hard
将git add, git rm和git ci等操作都合并在一起
git ci -am “some comments”
修改最后一次提交记录
git ci –amend
- 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert
- 恢复某次提交的状态,恢复动作本身也创建次提交对象
查看文件 diff
比较当前文件和暂存区文件差异
git diff filename
比较两次提交之间的差异
git diff id1 id2
在两个分支之间比较差异
git diff branch1 branch2
比较暂存区和版本库差异
git diff –staged
比较暂存区和版本库差异
git diff –cached
仅仅比较统计信息
git diff –stat
查看提交记录 log
查看该文件每次提交记录
git log filename
查看每次详细修改内容的diff
git log -p filename
查看最近两次详细修改内容的diff
git log -p -2
查看提交统计信息
git log –stat
Git 本地分支管理
查看、切换、创建和删除分支
查看远程分支
git branch -r
创建新的分支
git branch new_branch
查看各个分支最后提交信息
git branch -v
查看已经被合并到当前分支的分支
git branch –merged
查看尚未被合并到当前分支的分支
git branch –no-merged
切换到某个分支
git checkout branch
创建新的分支,并且切换过去
git checkout -b new_branch
基于一个分支创建一个新的分支
git checkout -b new_branch_name branch_name
把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git checkout $id
把某次历史提交记录checkout出来,创建成一个分支
git checkout $id -b new_branch
删除某个分支
git branch -d branch
强制删除某个分支 (未被合并的分支被删除的时候需要强制)
git branch -D branch
分支合并和rebase
将branch分支合并到当前分支
git merge branch
不要Fast-Foward合并,这样可以生成merge提交
git merge origin/master –no-ff
将master rebase到branch
git rebase master branch
Git补丁管理(方便在多台机器上开发同步时用)
生成补丁
git diff > ../sync.patch
打补丁
git apply ../sync.patch
测试补丁能否成功
git apply –check ../sync.patch
Git暂存管理
暂存
git stash
列出所有stash
git stash list
恢复暂存的内容
git stash apply
删除暂存区
git stash drop
Git远程分支管理
抓取远程仓库所有分支更新并合并到本地
git pull
抓取远程仓库所有分支更新并合并到本地,不要快进合并
git pull –no-ff
抓取远程仓库更新
git fetch origin
将远程主分支合并到本地当前分支
git merge origin/master
跟踪某个远程分支创建相应的本地分支
git checkout –track origin/branch
基于远程分支创建本地分支,功能同上
git checkout -b origin/
推送所有分支
git push
将本地主分支推到远程主分支
git push origin master
将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push -u origin master
创建远程分支, origin是远程仓库名
git push origin local_branch
创建远程分支
git push origin :
先删除本地分支(git br -d branch),然后再push删除远程分支
git push origin :remote_branch
Git远程仓库管理
查看远程服务器地址和仓库名称
git remote -v
查看远程服务器仓库状态
git remote show origin
添加远程仓库地址
git remote add origin git@ github:robbin/robbin_site.git
设置远程仓库地址(用于修改远程仓库地址)
git remote set-url origin git@ github.com:robbin/robbin_site.git
删除远程仓库
git remote rm repository
创建远程仓库
用带版本的项目创建纯版本仓库
git clone –bare robbin_site robbin_site.git
将纯仓库上传到服务器上
scp -r my_project.git git@ git.csdn.net:~
在服务器创建纯仓库
mkdir robbin_site.git && cd robbin_site.git && git –bare init
设置远程仓库地址
git remote add origin git@ github.com:robbin/robbin_site.git
客户端首次提交
git push -u origin master
首次将本地develop分支提交到远程develop分支,并且track
git push -u origin develop
设置远程仓库的HEAD指向master分支
git remote set-head origin master
也可以命令设置跟踪远程库和本地库
git branch –set-upstream master origin/master
git branch –set-upstream develop origin/develop