Git Bash 常用命令

关于版本控制,前几年,我认为只使用 TortoiseGit 图形界面就足够了,而现在,我改变了这个看法。

Git Bash 在某些情况下要方便的多,比如"创建分支并切换到新分支"、"切换分支"、"删除分支"等。

另一个方面,TortoiseGit 图形界面只在 Windows 中才有,Linux 环境下用不了,而且在 Linux 环境下使用开源代码经常要用到 Git Bash,因此我觉定将 Git Bash 加入到我的工具箱中。
本文描述我遇到的一些基本 Git Bash 命令。


1. 克隆


克隆整个仓库

bash 复制代码
git clone <repository_url>

克隆时指定本地仓库的目录名

bash 复制代码
git clone <repository_url> <directory_name>

克隆特定分支

bash 复制代码
git clone -b <branch_name> <repository_url>

如果不知道分支名称,可以使用 git 命令来查看:

  • git branch:查看本地分支,当前活动分支前面会有一个星号(*)
  • git branch -r:查看远程仓库中的所有分支
  • git branch -a:查看本地和远程仓库中的所有分支(在 bash 中,本地分支用绿色字体,远程分支用红色字体)

只克隆而不检出文件

bash 复制代码
git clone -n <repository_url>

-n 或者 --no-checkout,这次克隆将创建一个 裸仓库 。可以用 git checkout -b <branch_name> <tag_name> 命令将指定的 TAG 检出,新检出的分支名由 branch_name 指定。


2. 分支操作


查看分支

  • git branch:查看本地分支,当前活动分支前面会有一个星号(*)
  • git branch -r:查看远程仓库中的所有分支
  • git branch -a:查看本地和远程仓库中的所有分支(在 bash 中,本地分支用绿色字体,远程分支用红色字体)

创建分支

  • git branch <branch_name>:创建 branch_name 分支

切换分支

  • git switch <branch_name> :切换到 branch_name 分支。
  • git switch -c <branch_name>: 创建并切换到 branch_name 分支,c 是 --create 的简写。
  • git switch -t origin/feature-y:检出远程分支,t 是 --track 的简写,这条命令会创建一个名为 feature-y 的新分支,并将其设置为跟踪远程仓库 origin 中的 feature-y 分支。然后立即切换到新创建的 feature-y 分支。

删除分支

  • git branch -d <branch_name>:删除 branch_name 分支

3. 标签


查看标签(Tag)

bash 复制代码
git tag

切换到标签

  • git checkout <tag-name>

基于指定的标签创建并切换到一个新的分支

  • git checkout -b <branch_name> <tag_name>:基于标签 tag_name 创建一个新的分支 branch_name,然后切换到这个新建的分支上。
相关推荐
echome8882 小时前
Git 日常救急:撤销提交、找回误删文件和解决冲突
git·版本控制
赵民勇7 小时前
Git命令详解
git
Elastic 中国社区官方博客8 小时前
基于 Jina OCR v1 与 Elasticsearch 的 PDF 智能混合检索与 RAG 系统实战指南
大数据·数据库·elasticsearch·搜索引擎·ocr·jina
Eloudy20 小时前
Qwen2.5-14B-Instruct-AWQ 模型文件结构分析
大数据·elasticsearch·搜索引擎
不老刘1 天前
Antigravity 的 New Worktree 模式:给 AI 代理一个安全的“平行工位”
人工智能·git·ai编程·antigravity
光谱SpectrAI1 天前
Windows 也中招:Git Bash 和 Node 仍信任泄露的 eMudhra 证书
git
YIN_尹1 天前
【git原理与使用】git初识与安装
大数据·git·elasticsearch
Leo_Mr1 天前
Vue3 项目配置 Git 提交规范(企业通用方案:husky + commitlint + cz-git + lint-staged)
git
SEO_juper1 天前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash
jyOverQ1 天前
Git rebase 和 merge 有什么区别?什么时候该用哪个?
git