git常用命令

参考:https://www.bbsmax.com/A/E35pOQlBJv/

在这里插入图片描述

Git常用命令汇总

在这里插入图片描述

Git概念理解

在这里插入图片描述

git使用

1、Git 安装

(1)Windows及Mac系统下的安装

Windows:
  1. 访问 Git 官方网站
  2. 下载适用于 Windows 的安装程序(.exe文件)。
  3. 运行下载的安装程序,按照提示进行安装。可以使用默认选项或根据需要进行自定义配置。
  4. 安装完成后,你可以在开始菜单中找到 “Git Bash” 和 “Git GUI” 两个工具。
Mac:
  1. 通过 Homebrew 安装(推荐):

    • 如果尚未安装 Homebrew,可以通过以下命令安装:

      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
      
    • 安装完成后,使用以下命令安装 Git:

      brew install git
      
  2. 通过 Git 官方安装包:

    • 访问 Git 官方网站
    • 下载适用于 Mac 的安装程序。
    • 运行安装程序,按照提示进行安装。

(2)Linux操作系统下的安装

# 在 Ubuntu 上安装 Git
sudo apt-get install git

# 在 CentOS 上安装 Git
sudo yum install git

(3)检验是否安装成功

  1. 打开命令行工具:

    • Windows:使用 “Git Bash” 或者 “命令提示符”。
    • MacLinux:打开终端(Terminal)。
  2. 输入以下命令来查看 Git 版本号,确认安装是否成功:

    git --version
    

    成功安装后,你将看到类似以下的输出:

    git version 2.x.x
    
  3. Windows 特有

    • 安装完成后,你会看到一个叫 “Git Bash” 的命令行工具,这是一个基于 Unix 风格的命令行,可以用来执行 Git 命令。

2、Git 结构和状态

(1)Git 的三层结构

  1. Working Directory(工作区)
    这是你本地磁盘上实际操作文件的地方,即你正在编辑、修改和查看的文件所在的位置。

  2. Staging Area(暂存区)
    暂存区是一个临时区域,用于记录你准备提交到版本库的文件和修改。这些文件已被标记为下一次提交的一部分,但尚未正式提交。

  3. Git Directory(版本库)
    Git 目录(或称为 Repository)是 Git 存储项目历史记录和元数据的地方。当你提交文件时,它们被安全地存储在版本库中。版本库包含所有的提交历史、配置和其他必要的数据。

(2)Git 中文件的 4 种状态

  1. Untracked(未被追踪)
    文件存在于工作区中,但尚未被 Git 跟踪,即它们没有被添加到暂存区或版本库中。

  2. Modified(已修改)
    文件已在工作区中进行了修改,但这些更改尚未被添加到暂存区。

  3. Staged(已暂存)
    文件的修改已被添加到暂存区,准备在下一次提交时一同提交到版本库。

  4. Committed(已提交)
    文件的修改已被提交到版本库,数据被安全地存储在本地仓库中,并形成了一个新的提交记录。

3、Git 基本命令

# 初始化 git 仓库(创建 .git 目录)
git init 

# 将文件添加到暂存区
git add filename
# 将工作目录下所有修改的文件添加到暂存区
git add .

# 将暂存区内的文件提交到版本库,并添加提交说明
git commit -m 'description'

# 跳过 git add 直接将所有已跟踪的文件从工作区提交到版本库
git commit -am 'description'

# 查看提交历史
git log

# 查看项目文件状态
git status

# 配置用户名和邮箱
git config --global user.name "Hayden"
git config --global user.email "544989423@qq.com"
# 查看所有 Git 配置信息
git config --list

4、Git 撤销操作

# 撤销上一次提交,但不改变暂存区的内容,可修改提交说明
git commit --amend

# 撤销工作区中的文件修改,将文件还原到暂存区的状态(区别于切换分支命令 git checkout branchname)
git checkout -- filename

# 撤销暂存区中文件的修改,将其还原到上一次提交的状态(不影响工作区)
git reset HEAD -- filename

# 拉取最近一次提交到版本库的文件,回到暂存区和工作区
git reset --hard HEAD

git reset --option 版本号
# 将暂存区和工作区回退
--hard
# 将版本库和暂存区回退,工作区不变
--mixed
# 将版本库回退,暂存区和工作区不变
--soft

5、Git 文件删除

# 删除工作区和暂存区中的文件,相当于删除文件后执行 git add
git rm filename

# 仅删除暂存区中的文件,保留工作区中的文件(适用于不小心将不需要追踪的文件添加到暂存区时)
git rm --cached filename

# 强制删除工作区和暂存区中的文件(即使文件有修改)
git rm -f filename

# 重命名文件,同时更新 Git 仓库中的记录
git mv oldname newname
# 以上命令等同于以下操作:
mv oldname newname
git rm oldname
git add newname

6、Git 分支

Git 分支的创建、修改、切换、删除

# 查看所有分支
git branch

# 创建新分支
git branch branchname

# 修改分支名称
git branch -m oldname newname

# 切换到指定分支
# -b 选项用于在切换前创建并切换到新分支
git checkout [-b] branchname

# 删除指定分支
git branch -D branchname

# 合并分支
# 需要先切换到接收合并的分支(如 master),然后执行合并命令
git merge branchname



# 比较工作区与暂存区的文件差异
git diff

# 比较暂存区与版本库的文件差异
git diff --staged

# 比较分支内两个版本之间的文件差异
git diff 版本号 版本号

# 比较两个分支的最新提交版本之间的差异
git diff 分支 分支

# 存储当前的工作区状态
# 仅保存工作区的修改,不保存暂存区的修改,并将工作区恢复为最近一次提交的状态(暂存区的修改会丢失)
git stash

# 查看所有存储的记录
git stash list

# 应用指定的存储记录
git stash apply stash@{num}

# 应用最近一次的存储记录
git stash apply

# 删除指定的存储记录
git stash drop stash@{num}

# 应用并删除存储记录
git stash pop

7、远程仓库

# 将本地分支推送到远程仓库
git push 远程仓库地址 分支名

# 拉取远程分支的最新版本并合并到本地分支
git pull 远程仓库地址 分支名

### 远程服务器上的仓库

# 在远程服务器上创建一个裸仓库(没有工作区)
git init --bare

# 给远程仓库起个别名
git remote add name path

# 移除远程仓库的别名
git remote rm name

# 重命名远程仓库的别名
git remote rename oldname newname

# 查看所有远程仓库的详细信息
git remote -v

# 从远程仓库拉取最新的分支和版本信息,但不自动合并
git fetch

# 合并远程仓库的分支到本地分支
git merge

# 检查合并时是否有冲突标记
git diff --check

# Git SSH 免密登录 

# 生成 SSH 密钥对
ssh-keygen

# 将本地生成的公钥复制到远程服务器的 authorized_keys 文件中
ssh-copy-id user@host
# 如果无法直接访问服务器,可以将公钥发送给服务器管理员,添加到 authorized_keys 文件中

8、Git 帮助文档的使用

git help

git help command

官方文档地址

https://git-scm.com/docs
<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值