git命令

39 阅读4分钟

待补充 git reset git rebase fast-forwards相关

bash命令

  • cd 改变目录
  • cd .. 进入上一级目录
  • cd ~ 进入根目录
  • tab 自动补全
  • 两次tag 把所有符合要求的选项都列出来
  • pwd打印当前路径
  • ls 展示当前目录列表(不包含隐藏文件)
  • ls -a 展示当前目录列表(包括隐藏文件)
  • ls -l 以列表形式展示内容
  • ls -al 以列表形式展示当前目录所有内容(包括隐藏文件)
  • ls -al [目录] 展示某个目录下所有内容

===

  • clear 清屏,内容都还在,滑动列表就能出来
  • reset 重置,历史记录没了

===

  • mkdir [文件夹名] 创建一个文件夹
  • rmdir [文件夹名] 删除一个空的文件夹

===

  • touch xxx 创建文件
  • rm xxx 删除一个文件或者文件夹

===

  • mv [文件名/文件夹名] [文件夹] 将文件或者文件夹移动到某个文件夹中
  • cp [file] [file2] 复制文件

===

  • cat xxx 查看文件(不能是文件夹)所有内容
  • less xxx 查看文件部分内容
  • q 退出查看

文件操作

  • Untracked files 文件刚创建时还没有被版本追踪
  • git add [file] 将某个未被追踪的文件添加到版本追踪中 / 或者修改的文件提交到暂存区
  • git add . 将所有未被追踪的文件添加到版本追踪中 / 或者修改的文件提交到暂存区

===

  • git commit -m "日志" 将暂存区的文件提交到本地仓库中
  • git push 推送当前分支到云端
  • git push branch1 本地分支branch1送到云端
  • git push origin feature:dev 本地feature分支 推送到云端 dev分支
  • git push --force 强制推送,覆盖远程分支

分支 branch

  • git branch :列出本地所有分支
  • git branch -r :列出所有远程分支
  • git branch -a :列出所有本地 + 远程 分支

===

  • git branch [branch] :创建一个分支,但仍然停留在当前分支
  • git branch [branch] [commit] :从某个commit创建一个分支
  • git checkout [branch] : 切换分支
  • git checkout -b [branch] :创建一个分支,并切换到新的分支
  • git checkout -b [branch] [tag] :基于某个tag创建一个分支,并切换到新的分支
  • git checkout -b [branch] [commit] :基于某个commit创建一个分支,并切换到新的分支

===

  • git branch -d [branch] : 删除本地分支
  • git push origin --delete [branch] : 删除远程分支
  • git branch -dr [remote/branch] : 删除远程分支

===

  • git branch --track [local-branch] [remote-branch] :创建一个本地分支,和指定的远程分支建立追踪关系

===

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

===

  • git cherry-pick [commit] :选择一个commit合并到当前分支

标签 tag

  • git tag 列出所有tag
  • git tag [tag] 在当前commit新建一个tag
  • git tag [tag] [commit] 在指定的commit处新建一个tag
  • git tag -d [tag] 删除本地tag
  • git push origin :refs/tags/[tagName] 删除远程tag
  • git show [tag] 查看tag信息
  • git push [remote] [tag] 提交指定tag
  • git push [remote] --tags 提交所有tag

查看信息

  • git status 查看有变更的文件
  • git log 查看当前分支的版本历史
  • git log -2 查看最近两条commit信息
  • git log --stat 查看commit历史,以及每次commit发生变更的文件
  • git log --oneline 查看当前版本的历史【简单信息】
  • git shortlog -sn 显示所有提交过的用户,按照提交次数排序
  • git blame [file] 显示某个文件的改动历史
    • git blame -L 10,20 [file] 查看文件中第10-20行的代码改动历史
    • git blame -l [file] 显示每次改动的40位哈希
    • git blame 分支名/commit [file] 显示某次commit中文件的改动
  • git diff 显示暂存区和工作区的差别
  • git diff [file] 显示暂存区和工作区某个文件的差别
  • git diff --cached 显示暂存区和上一次commit的差异
  • git diff --cached [file] 查看某个文件暂存区和上一次commit的差异
  • git diff commit1 commit2 查看两次commit的差异,commit2相比commit1的改动
  • git diff main branch1 比较两个分支之间的差异
  • git diff --shortstat "@{0 days ago}" 显示当前用户今天写了多少代码

===

  • git show [commit] 显示某次commit的内容
  • git show [commit]:[file] 显示某次commit某个文件的内容
  • git reflog 显示当前分支最近几次提交

参考文章