git常用指令

git常用指令

  • 基础概念
    • 📂(.git所在的文件路径)
      • 工作区(和.git在同一个目录下的文件夹/文件)
      • .git:版本库
        • stage(暂存区:git之所以比其他的版本管理优秀就在于它管理的是修改(暂存区),而不是文件)
        • master(git默认创建的主分支)
        • HEAD(指向当前分支的指针)
  • git init:创建版本库,初始化
  • git add:把文件添加到暂存区,用于之后提交到本地仓库
    • git add .:添加所有的修改到暂存区
    • git add <fileName>:添加某个文件的修改到暂存区
    • git add <fileName1> <fileName2>
  • git commit:把暂存区的修改提交到当前分支
    • git commit -m "修改信息"
    • git commit <fileName> -m "修改信息"
  • git status:查看当前状态
  • git diff:对比当前做了哪些改动
    • git diff HEAD -- <fileName>:查看工作区和版本库中最新版本的区别
  • git log:查看提交日志(从近到远)
    • git log --pretty-oneline:日志格式为一行,方便阅读
    • git reflog:查看你操作的每一次命令
    • git log --graph:查看分支合并图
  • git reset:回退
    • HEAD:是指向当前分支的指针
    • git reset --hard HEAD^:回退到上一个版本(^符号的数量代表向上回退的版本数量)
    • git reset --hard HEAD~100:向后回退100个版本
    • git reset --hard 版本号:回退到某一个版本(版本号为commitID哈希值的前7位)
    • git checkout -- <fileName>:工作区内容回退到最近一次git addgit commit的状态,就是撤销之前的修改。
      1. 如果是修改后还未add到暂存区,就回退到和版本库一模一样的状态。
      2. 如果是已经add到暂存区后又做了修改,就回退到添加暂存区后的状态。
    • git reset HEAD <fileName>:把暂存区的修改撤销掉,重新放回工作区。
  • git rm <fileName>:删除文件
  • git push:把当前分支推送到远程仓库
    • git push -u origin master:第一次使用加上-u
    • git push origin <local_branch_name>:推送分支(origin为远程库的分支名)
  • git pull:抓取远程库的分支
  • git clone:克隆
  • 创建并切换分支
    • git checkout -b <branchName>:创建并切换到branchName分支上(旧版本写法)。相当于以下两句:
      • git branch <branchName>:创建分支
      • git checkout <branchName>:切换分支
    • git switch -c <branchName>:创建并切换到branchName分支上(新版本写法)。相当于以下两句:
      • git branch <branchName>:创建分支
      • git switch <branchName>:切换分支
    • git checkout -b <local_branch> origin/<remote_branch>:创建远程库的分支(remote_branch)到本地(local_branch),本地分支名最好和远程分支名一致。
    • git branch --set-upstream-to=origin/<remote_branch> <local_branch>:指定本地分支(local_branch)和远程分支(remote_branch)的链接。
  • git branch:查看当前分支
  • 合并分支
    • git merge <branchName>:合并指定分支到当前分支上,如果可能,会使用Fast Forward模式
    • git merge --no-ff <branchName> -m "merge_dec_info":强制禁用Fast Forward模式
  • 删除分支
    • git branch -d <branchName>:删除分支
    • git branch -D <branchName>:强行删除分支
  • git stash:藏匿当前修改
  • git stash list:查看藏匿
  • git stash pop:恢复并删除stash,相当于以下两步:
    • git stash apply:恢复stash
    • git stash drop:删除stash
  • git cherry-pick <commint_id>:把某次提交的修改内容,在当前分支重复操作提交一次。
  • git remote:查看远程库
    • git remote -v:远程库抓取和推送的地址
    • git remote add origin 远程仓库地址:本地仓库关联一个叫origin的远程仓库。
    • git remote rm origin:删除远程库
  • git tag:查看标签
    • git tag <tag_name>:打标签
    • git tag <tag_name> <commit_id>:给某次commit打上标签
    • git show <tag_name>:查看标签信息
    • git tag -a <tag_name> -m "tag_info" <commit_id>:带备注信息的标签,-a指定标签名,-m指定标签信息。
    • git tag -d <tag_name>:删除标签
    • git push origin <tag_name>:推送标签
    • git push --tags:推送所有的本地标签
    • 删除远程库的标签:
      1. git tag -d <tag_name>:删除本地标签
      2. git push origin :refs/tags/<tag_name>:删除远程标签
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区Index / Stag...
    你为什么无理取闹阅读 1,872评论 0 0
  • 版本库操作 git init # 把当前的目录变成可以管理的git仓库,生成隐藏.git文件(但...
    琢磨先生lf阅读 3,138评论 0 0
  • Git常用命令总结 Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git i...
    猿ape阅读 1,638评论 0 1
  • git init** 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并...
    江南永保春阅读 2,784评论 0 1
  • 青木阅·第六周 《易侠张延生》 这周返回去看这本很神奇的书,此书讲述了航空航天技术员张延生在上个世纪与中医、易经结...
    青木阅阅读 1,287评论 0 0