Git常用命令总结
一、最常用的6个命令
四个区:Workspace:工作区、Index / Stage:暂存区、Local Repository:仓库区(或本地仓库)、Remote:远程仓库
git add .
git commit -m 'message'
git push
git fetch/clone url
git pull
git checkout
二、Git命令简述:三步骤、四区、五状态
三步骤:git add . ; git commit –m ‘commit’; git push;
四区:工作区、暂存区、本地仓库区、远程仓库区
五状态:未修改origin、修改未暂存modified、暂存未提交staged、提交未推送committed、已推送pushed
查看修改:git diff #工作区与暂存区
git diff –cached #暂存区与本地仓库
git diff master origin/master #本地仓库与远程仓库
撤销修改:
修改未暂存:git checkout . 或者git reset --hard
暂存未提交:git reset; git checkout .;或者git reset --hard
提交未推送:git reset --hard origin/master
已推送:git reset --hard HEAD^; git push -f
二、Git命令分类介绍
1. 新建仓库
git init
git clone url
2. 配置仓库
git config
3. 分支管理
<增>创建分支:git branch (newbranchname)
<删>删除分支:git branch -d (branchname)
<查>列出分支:git branch (带有*号的表示当前分支)
<改>切换分支:git checkout (newbranchname)
创建并切换分支:git checkout -b (newbranchname)
合并分支:git merge (branchname) (将branchname分支合并到当前分支)
4. 标签管理
git tag #查看所有标签
git log --decorate #可以查看标签
git log --decorate –oneline –graph
5. 远程同步
检出仓库: $ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
*如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:
$git push origin test:master // 提交本地test分支作为远程的master分支
$git push origin test:test // 提交本地test分支作为远程的test分支
6. 撤销
# 恢复暂存区的指定文件到工作区
$ git checkout [file]
# 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]
# 恢复暂存区的所有文件到工作区
$ git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]
# 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard
# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]
# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]
# 新建一个commit,用来撤销指定commit
# 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]
# 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop