常用 Git 命令

2023年 1月 4日 61.0k 0

1. 基本概念

  • Workspace:工作区,工程文件
  • Index:暂存区,也叫待提交更新区,在提交进入 repo 之前,把所有的更新放在暂存区
  • Local Repository:本地仓库,存放在本地的版本库,HEAD 指向当前的开发分支
  • Remote Repository:远程仓库,远程服务器的版本库

基本的 Git 工作流程如下:

  • 在工作目录中修改某些文件
  • 对修改后的文件进行快照,然后保存到暂存区,git add
  • 提交更新,将保存在暂存区域的文件快照永久转储到本地 Git,git commit
  • 更新到远程,将本地 Git 推送到远程,git push
  • 2. 初始化

    • 初始化一个新仓库
    1
    
    $git init
    
    • 克隆一个仓库
    1
    
    $git clone <git-base-url>
    
    • 查看仓库远程主机
    1
    
    $git remote -v
    

    3. 分支

    • 列出全部分支
    1
    
    $git branch
    
    * 不带参数,仅列出本地
    * `-a` 参数,列出本地和远程
    * `-r` 参数,仅列出远程
    
    • 切换分支
    1
    
    git checkout <branch_name>
    
    • 拉取分支更新
    1
    
    git pull
    
    *`-a`参数,拉取全部分支更新
    
    • 基于当前分支,创建本地分支
    1
    
    $git branch <branch_name>
    
    • 基于远程分支,创建本地分支
    1
    
    $git branch <branch_name> origin/<branch_name>
    
    • 切换分支
    1
    
    $git checkout <branch_name>
    
    • 推送本地分支到远程
    1
    
    $git push origin <branch_name>
    
    • 删除一个远程分支
    1
    
    $git push origin --delete <branch_name>
    

    或者,推送一个空的本地分支到远程

    1
    
    $git push origin :<branch_name>
    
    • 删除一个本地分支
    1
    
    $git branch -D <branch_name>
    

    4. 版本

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    # 查看命令历史,常用于帮助找回丢失掉的 commit
    git reflog  
    # 回退到具体某个版本              
    git reset --hard c7926e6 
    # 显示当前分支的版本历史
    git log
    # 显示commit历史,以及每次commit发生变更的文件
    git log --stat
    # 搜索提交历史,根据关键词
    git log -S [keyword]
    

    5. 提交

    • 新增代码
    1
    
    git add *
    
    • 查看状态
    1
    
    git status
    
    • 提交代码
    1
    
    git commit -m "commit msg"
    
    • 丢弃某个文件
    1
    
    $git checkout -- <file_name>
    
    • 丢弃全部文件修改
    1
    
    $git checkout
    
    • 更新 master 到自己的分支分支
    1
    2
    
    $git checkout <branch_name>
    $git merge master
    
    • 从远程获取最新版 master 并 merge 到自己的分支
    1
    
    $git pull origin master
    

    相当于先 fetch ,然后合并

    1
    2
    3
    
    git fetch origin master:tmp
    git diff tmp 
    git merge tmp
    

    6. 标签

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    
    # 查看全部标签
    git  tag
    # 切换标签
    git checkout <tag_name>
    # 新建标签
    git tag v1.0    #新建标签,默认位 HEAD
    git tag v1.0 c7926e6  #对指定的 commit id 打标签
    git tag -a v1.0 -m 'v1.0 r'   #新建带注释标签
    # 删除标签
    git tag -d <tag_name>
    # 删除远程标签
    git push origin :refs/tags/<tag_name>      
    

    7. 参考

    • http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

    相关文章

    KubeSphere 部署向量数据库 Milvus 实战指南
    探索 Kubernetes 持久化存储之 Longhorn 初窥门径
    征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
    那些年在 Terraform 上吃到的糖和踩过的坑
    无需 Kubernetes 测试 Kubernetes 网络实现
    Kubernetes v1.31 中的移除和主要变更

    发布评论