git常用命令(最全版本)

77 阅读3分钟

我正在参加「掘金·启航计划」

git基本操作

  1. git init 初始化git仓库
  2. git status 查看git仓库状态
  3. git add. 把文件全部提交到暂存区
  4. git commit -m 提交git仓库
  5. git log/git log --oneline查看仓库日志,当想要回退到某个日志的时候可以通过git checkout 日志的id值回退到相应的阶段
  6. git reset --hard HEAD^ 回退到上一步(上一个版本)
  7. git reflog 回流版本
  8. git reset --hard 日志的id值 回退到对应版本

工作区,版本库,暂存区,撤销修改操作

  1. 什么是工作区

就是你在电脑里能看到的目录。

  1. 什么是版本库,就是.git问件夹它里面有暂存区和你创建的分支

image.png

  1. git ls-files 列出本地仓库中暂存区的文件
  2. git checkout --文件名 撤销没有提交到暂存区的改变
  3. git restore --文件名 撤销没有提交到暂存区的改变(git2.23之后才有的命令)
  4. git restore --staged 文件名 撤销提交到暂存区的改变回到没有提交到暂存区时的操作
  5. git reset HEAD 文件名 撤销提交到暂存区的改变回到没有提交到暂存区时的操作(git2.23之后才有的命令)
  6. git reset --hard HEAD^ /git checkout 日志的id值 已经提交到了本地仓库(进行了commit操作需要回退)

删除操作

  1. rm 文件名 删除提交(commit)的文件
  2. git checkout 文件名 /git reatore 文件名 撤销删除操作(前提都是进行了commit操作)

添加远程仓库,从远程仓库中克隆

  1. 在本地中输入 ssh-keygen -t rsa -C "邮箱名" (会生成公钥和私钥两个文件)

image.png

  1. 将公钥添加到github/gitee的公钥中

image.png

3.new一个远程仓库

image.png

  1. 同步本地仓库和远程仓库代码 git remote add origin "仓库地址"
  2. 把本地仓库代码提交到远程仓库 git push -u origin master(分支名,这里是提交的主分支)
  3. git push 推送本地仓库的更新到默认的远程仓库

创建分支,合并分支,解决合并冲突

  1. git checkout -b 分支名 /git switch -c 分支名(git2.23之后才有的命令) 创建新分支
  2. git branch 查看远程仓库上的分支
  3. git checkout 分支名 切换分支
  4. git branch -d 分支名 删除分支
  5. git merge 分支名 合并更新的分支
  6. 处理合并冲突问题

image.png

  1. 查看分支提交流程图

image.png

  1. git rm --cached 文件名 撤销提交文件到暂存区
  2. 删库跑路 rm -rf 文件名
  3. recursive方式合并远程仓库分支,可以在日志中查看提交信息

image.png

程序中有bug时候的修复

当我们在开发过程中如果遇到bug需要修改,我们通常都是新建一个分支,修改bug,然后再将分支合并,删除临时分支,那么当我们正在开发比如dev分支如果切换分支的话我们正在编写的代码就会消失,此时功能还未完成不能合并代码,但是修改bug比较紧急,这时候我们应该怎么办呢?

  1. git stash 保留代码但是并没有合并
  2. git stash list 查看代码保留内容
  3. git checkout -b 分支名 新建临时分支(修复bug)
  4. git add. git commit -m “” 提交修复
  5. git merge --no-ff -m “合并信息” 合并修复
  6. git branch -d 分支名 删除临时分支
  7. git stash apply 返回正在编写的分支 git stash drop 删除存档
  8. git stash pop 返回并删除存档
  9. git stash clear 返回并删除所有存档
  10. git cherry-pick id值 -m 1(number)合并修复分支代码