git常用命令——学而时习之

104 阅读3分钟

这里省略了git的教程,而是罗列出了一些常用命令解释,方便快速回忆和查找命令的用法(ctrl+F查找)。 包含本地仓库常用命令,衔接的常用参数,远程仓库,分支管理,bug分支等。

补充一些相关内容以及后文提到的名词方便理解:
1、git提交的是修改。
2、工作区:在电脑里能看到的目录,比如一个test文件夹就是一个工作区。
3、版本库:git init创建仓库后工作区有一个隐藏目录`.git`,这个不算工作区,而是Git的版本库。
4、暂存区、分支:我们把文件往Git版本库里添加的时候,是分两步执行的:
   第一步是用`git add`把文件添加进去,实际上就是把文件修改添加到暂存区;
   第二步是用`git commit`提交更改,实际上就是把暂存区的所有内容提交到当前分支。
————【本地仓库】————
  • git log 命令查看:显示从最近到最远的提交日志

    • --pretty=oneline 参数:简化信息,如果嫌git log输出信息太多看得眼花缭乱可以在其后添加此参数。
  • git reset --hard HEAD^ 命令:回退到上一个版本^,上上版本为^^,多个为~ N(如回退5个版本用~5)

  • git reset --hard <commitID> :回到某个commit ID对应的的提交版本,如:git reset --hard 1094a

  • git reflog 用来记录你的每一次命令:即使关闭当前命令窗口重新打开可以查看之前的 操作,找到commit ID

  • git status 查看一下状态:modified: 表示被修改了,而从来没有被添加过的状态是Untracked。

  • git diff HEAD --<file name> (管理修改)命令可以查看工作区和版本库里面最新版本的区别(提交修改和未提交修改的文件区别)如:查看 readme.txt 文件git diff HEAD -- readme.txt

  • git checkout -- readme.txt(撤销工作区修改)意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:(1)提交到暂存区的情况即git add 后进行的修改;(2)提交到当前分支中的情况即 git commit 后进行的修改。总之,就是让这个文件状态回到最近一次提交前的 git commit 或 git add 时的状态。

  • git reset HEAD <file>【撤销修改】 (撤销缓存区修改)可以把暂存区的修改撤销掉(unstage),内容重新放回工作区

————【远程仓库】————
  • git remote -v 查看远程库信息

  • git remote rm origin 删除远程库

  • git clone <仓库地址> 远程仓库克隆到本地,如git clone git@github.com:your_name/your_repository.git

————【分支管理】————
  • git branch 命令会列出所有分支,当前分支前面会标一个*号。

  • git checkout -b dev / git switch -c dev git checkout 命令加上-b参数表示创建并切换,相当于以下两条命令:

 git branch dev
 git checkout dev
  • git merge 命令用于合并指定分支到当前分支

  • git branch -d <branch-name> 删除指定分支

————【bug分支】————
  • git stash 把当前工作现场“储藏”起来,等以后恢复现场后继续工作

  • git stash list 命令看保存的工作现场

  • Git把stash内容存在某个地方,需要恢复一下,有两个办法:

    • git stash apply 恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;( git stash apply stash@{0} 恢复指定的stash )
    • git stash pop 恢复的同时把stash内容也删了
  • git cherry-pick <commit> 命令,让我们能复制一个特定的提交到当前分支