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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值