大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

Git命令备忘录

前言

Git在平时的开发中经常使用,整理Git使用全面的梳理。

基本内容

开始之前

请自行准备好Git工具以及配置好Git的基本配置

基础内容

基础概念

如下内容,在码云或者Github上新建仓库出现的内容,

mkdir demo
cd demo
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/will-we/demo.git
git push -u origin master
基础概念

基础命令

git init 创建git仓库
git add 把文件添加进去,实际上就是把文件修改添加到暂存区
git status 查看仓库当前的状态
git diff查看difference
git log显示从最近到最远的提交日志
git reset --hard版本回复,格式:git reset --hard commit的Id号
git reset --hard HEAD^ 回到上次提交的版本
git reflog记录在本地存储库中更新分支和其他引用的提示
git checkout -- file文件在工作区的修改全部撤销
git reset HEAD <file>将当前版本上文件恢复
git rm 删除暂存区的文件(直接工区删除后,提交版本库也删除)

远程仓库

开始之前,请配置本地与远程仓库的相关配置,秘钥等配置

git remote查看远程库的信息
git remote -v显示更详细的信息
git push origin master推送到远程主分支
> 推送失败,先用git pull抓取远程的新提交,有冲突先解决冲突

分支管理

基本命令

git checkout -b dev创建并切换dev分支
git branch查看所有分支,当前分支*表示
git branch <name>创建分支
git merge命令用于合并指定分支到当前分支
git branch -d <name>删除分支
git branch -D <name>强行删除分支(git branch -d <name>删除操作时会该分支做合并,如果没有合并将出现错误)
git log --graph --pretty=oneline --abbrev-commit看到分支的合并情况

stash命令

git stash将工作备份后临时清理工作区为版本库,用于紧急修改缺陷场景
git stash list查看备份的工作现场
git stash apply恢复工作现场
git stash drop删除之前的备份现场
git stash pop先恢复再删除之前的备份

rebase命令

git rebase作用 和git merge的效果类似,但是git rebase不再包含分支的提交信息最终log为一条直线

git rebase和git merge的区别图

关于两者的区别可参考内容: git rebash 和 git merge 区别

在rebase的过程中,也许会出现冲突(conflict). 在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行;当然可以--absort回复到rebase之前的状态。

$ git rebase --continue

冲突问题

“<<<<<<<” 表示冲突代码开始

“=======” 表示test与master冲突代码分隔符

“>>>>>>>" 表示冲突代码的结束

标签管理

git tag显示标签列表
git tag <tagname>添加轻标签
git log --decorate显示包含标签资料的历史记录
git tag -a <tagname> -m '注解内容'添加注解标签
git tag -n显示标签的列表和注解
git tag -d <tagname>删除标签
git push origin <tagname>可以推送一个本地标签
git push origin --tags可以推送全部未推送过的本地标签;
git push origin :refs/tags/<tagname>可以删除一个远程标签


参考教程