创建版本库
-
git clone url
克隆远程版本库 -
git init
初始化本地版本库
配置
-
git config --global user.name 'chengcp'
配置global
级别的用户名 -
git config --global user.email '1326895569@qq.com'
配置global
级别的邮箱 -
git config --global -l
查看global
级别的配置列表 -
git config --global --unset user.name
删除用户名 -
git config --global alias.last 'log -1 HEAD'
配置last
别名,使用git last
将显示最近的一次提交记录
添加和删除文件
-
git add file1 file2
添加指定文件到暂存区 -
git add dir
添加指定目录到暂存区 -
git add .
添加当前目录的所有文件到暂存区 -
git mv oldname newname
对一个已经追踪过的文件进行改名,同时加入暂存区 -
git rm file1 file2
删除工作区文件,同时将这次删除放入暂存区 -
git rm --cached file
停止追踪指定文件,但该文件会保留在工作区;tracked
变成untracked
提交
-
git commit file1 file 2 -m message
提交暂存区指定文件到本地仓库 -
git commit -m message
提交暂存区所有文件到本地仓库 -
git commit -a -m message
自动暂存所有已经追踪过的文件,且提交到本地仓库 -
git commit --amend -m message
使用一次新的提交,替代上次提交
分支
-
git branch
查看所有本地分支 -
git branch –r
查看所有远程分支 -
git branch –a
查看所有远程和本地分支 -
git branch –v
查看本地所有分支最新一次提交信息 -
git branch [branch]
新建分支 -
git checkout –b [branch]
新建一个分支,并且切换过去 -
git branch [branch] [commit]
基于某次提交,建立一个分支 -
git branch --track [branch] [remote-branch]
建立一个分支,并且与远程分支建立追踪关系 -
git branch --set-upstream [branch] [remote-branch]
在现有的本地分支和远程分支之间建立追踪关系 -
git branch –m [old-branch] [new-branch]
重命名分支 -
git merge [branch]
把指定分支合并到当前分支 -
git chery-pick [commit] [commit]
选择提交,合并进当前分支 -
git branch –d [branch]
删除本地分支 -
git push origin –d [branch]
删除远程分支 -
git checkout [branch]
切换分支 -
git checkout -
切换到上一个最近使用过的分支
标签
-
git tag
列出所有标签 -
git show [tag]
查看指定标签信息 -
git tag [tag]
给最近一次提交打一个标签 -
git tag [tag] [commit]
在某次提交上打一个标签 -
git tag –d [tag]
删除本地指定标签 -
git push origin –d tag [tag]
删除远程的标签 -
git push origin [tag]
推送指定标签 -
git push origin --tags
推送所有标签
查看信息
-
git status
查看文件状态 -
git help [command]
获取帮助文档 -
git [command] --help
获取帮助文档 -
git log
查看当前分支的提交记录 -
git log –all
查看所有分支的提交记录 -
git log -5 --oneline --graph
查看最近 5 次提交记录,以单行、树状图形式显示 -
git reflog
查看本地所有变更记录 -
git diff
查看工作区和暂存区的差异 -
git diff -- file
某个文件在工作区和暂存区的差异 -
git diff HEAD
工作区和最新一次提交的差异 -
git diff --cached
暂存区和 HEAD 的差异 -
git diff branch_a branch_b – file
某文件在两个分支间的差异
远程操作
-
git remote -v
查看所有远程仓库 -
git ls-remote origin
查看远程仓库引用列表 -
git remote show origin
查看远程仓库信息 -
git fetch origin
拉取远程仓库最新提交 -
git pull origin master
拉取远程master
,并且合并到本地当前分支 -
git remote add upstream url
添加一个新的远程仓库,命名为upstream
-
git push origin master
推送到远程origin
的master
分支 -
git push origin --all
推送所有分支到远程仓库 -
git remote prune origin
删除远程仓库中不存在的分支
撤销
-
git reset --soft HEAD
回滚到指定版本,保留工作区和暂存区 -
git reset --mixed HEAD
回滚到指定版本,保留工作区,清空暂存区;--mixed
是默认参数,即等同于git reset HEAD
-
git reset --hard HEAD
回滚到指定版本,清空工作区和暂存区 -
git reset HEAD -- file
清空暂存区中某个文件的修改 -
git checkout -- file
检出暂存区的文件到工作目录 -
git checkout .
检出暂存区的所有文件到工作目录 -
git revert HEAD~ 2
回滚到 2 个祖先提交的版本,同时产生新的提交记录 -
git revert --continue
冲突解决,且把修改提交到暂存区后执行回滚,生成一个新的提交 -
git revert –abort
取消回滚,回到之前的状态
储藏
-
git stash
将工作区和暂存区的变更保存到储藏堆栈中,同时工作区和暂存区恢复到HEAD
一样 -
git stash list
查看储藏列表 -
git stash pop
应用最近的一次储藏,并且从储藏栈中移除该条记录 -
git stash apply stash@{0}
应用最近的一次储藏,不移除记录;等同于git stash apply
-
git stash pop --index
应用最近一次储藏,--index
表示暂存区的变更也会更新,否则只更新工作区变更 -
git stash drop stash@{0}
移除储藏记录
原文地址:https://bubuzou.com/2019/09/24/git-all-actions/