git操作命令整理

git init   在当前目录下新建一个git代码库

git init [project-name]  新建一个目录,将其初始化为git代码库

git clone [url]  下载一个项目和它的整个代码历史

git config --list   显示当前的git配置

git config -e [--global]  编辑git配置文件 

git config [--global] user.name "[name]"  修改配置设置提交代码时的用户信息,例如:git config --global user.name "bryan sun"

git add [file1] [file2] ...  添加指定文件到缓存区

git add [dir]   增加指定目录到缓存区,包含子目录

git add .   增加当前目录的所有文件到存储区

git status  查看缓存区文件

git rm --cached  [file]  删除缓存区的指定文件,不删除物理文件

git rm --cached -r [dir]  删除缓存区指定目录下的所有文件,不删除物理文件

git rm --f [file]  删除缓存区的指定文件,物理文件删除(不会回收到垃圾桶),慎重操作

git rm --f -r [dir] 删除缓存区指定目录下的所有文件,物理文件删除(不会回收到垃圾桶),慎重操作

git commit -m "备注"  提交缓存区到仓库区

git commit [file1] [file2] ... -m "备注"  提交缓存区的指定文件到仓库区

git commit -a  -m "备注"  提交工作区自上次commit之后的变化,直接到仓库区

git commit -v  查看缓存区文件的差异,(执行过git add )

git commit -v [url]或者[file1]  查看本地区文件修改差异,(没有执行过git add)

git commit --amend -m [备注] 如果代码没有新变化,修改当前提交日志的备注信息等,待完善

git commit --amend [file1] [file2] ...   重做上一次commit,并包括指定文件的新变化

git restore [file]  指定文件恢复到上一个版本

git reset HEAD 回退到当前版本 (在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100)

git branch  列出所有本地分支

git branch -r  列出所有远程分支

git branch -a  列出所有本地分支和远程分支

git branch [branch-name] 新建一个分支,但依然停留在当前分支

git checkout -b [branch]  新建一个分支,并切换到该分支

git branch [branch] [commit] 新建一个分支,指向指定commit

git branch --track [branch] [remote-branch]   新建一个分支,与指定的远程分支建立追踪关系

git checkout [branch-name]   切换到指定分支,并更新工作区

git checkout -    切换到上一个分支

git branch --set-upstream [branch] [remote-branch]   建立追踪关系,在现有分支与指定的远程分支之间

git merge [branch]   合并指定分支到当前分支

git cherry-pick [commit]   选择一个commit,合并进当前分支

git branch -d [branch-name]   删除分支

git push origin --delete [branch-name]    删除远程分支

git branch -dr [remote/branch]   删除远程分支

gitk  图形界面