git安装与配置与相关命令

一、Git 基本概念

首先要理解 Git 是什么,它怎么帮助我们管理代码:

Git 是一个版本控制系统,专门用来跟踪和管理代码的修改历史,帮助开发者进行协作。

**本地仓库:**你电脑上用 Git 管理的项目,存储代码的所有版本信息。

**远程仓库:**托管在 GitHub、GitLab、Bitbucket 等平台上的仓库,便于多人协作。

**工作区:**就是你项目中的实际文件(比如代码文件),在文件夹中,你进行编辑和修改的地方。

**暂存区:**Git 用来临时保存你修改文件的区域,你需要把修改的文件添加到暂存区,才能提交。

**提交(commit):**把暂存区的修改保存到本地仓库,创建一个新的版本。

二、Git 安装

1. 安装 Git

(1)、你需要先安装 Git,可以从 Git 官网 下载并安装 Git。安装过程中,建议使用默认设置即可。

(2)、git官网地址:https://git-scm.com/

(3)、安装完成后打开控制面板(win+R 输入cmd),输入git --version 查看Git版本信息,检测git。

三、配置Git

1.配置本地信息

为了在后面上传项目到github时方便知道是谁上传的,需要给本机git配置用户名和邮箱:

打开 git bash(也可任意位置右键打开 git bash):输入命令。

bash 复制代码
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

四、配置SSH

Git 并不强制要求配置 SSH,但是使用 SSH 密钥来连接 Git 远程仓库是更安全和高效的一种方式,尤其是在频繁操作远程仓库时。使用SSH 密钥可以避免每次推送或拉取代码时都输入 GitHub、GitLab 等平台的用户名和密码。

1、是否需要配置 SSH?

如果你使用 HTTPS 连接到远程仓库: 你需要在每次推送或拉取时输入用户名和密码。 如果你开启了 Two-Factor

Authentication(2FA,双因素认证),你还需要生成一个令牌来代替密码。 不需要配置 SSH 密钥。
如果你使用 SSH 连接到远程仓库: 在第一次配置 SSH 密钥后,之后的操作不再需要输入用户名和密码。 SSH

是一种更安全的认证方式,并且一旦配置好,可以自动完成身份验证,避免频繁输入凭据。

2、SSH与SSH Key是什么?

要了解SSH key简介,首先得熟悉SSH,Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。SSH 密钥对可以让您方便的登录到 SSH 服务器,而无需输入密码。SSH 密钥对总是成双出现的,一把公钥,一把私钥。这里用到了非对称公钥加密体系,生成的公钥放到github或者gitlab的网站上,生成的私钥放在自己的电脑上。

ssh教程暂时不出。

五、Git 提供了许多命令来处理版本控制的各种操作。以下是一些常用的 Git 命令,涵盖了更多的操作场景:

  1. 基本操作命令

查看 Git 版本

显示当前安装的 Git 版本。

bash 复制代码
git --version

配置 Git 用户信息

设置用户名和电子邮件(全局配置,适用于所有仓库)。

bash 复制代码
git config --global user.name "Your Name"
git config --global user.email "you@example.com" 

查看配置项

显示当前的 Git 配置信息。

bash 复制代码
git config --list

初始化本地仓库

初始化一个 Git 仓库,当你开始使用 Git 来管理一个项目时,首先需要初始化 Git 仓库。这会在你当前文件夹中创建一个 .git 文件夹,用来记录所有 Git 信息。

解释:该命令会在当前目录下初始化一个 Git 仓库,这样你就可以开始使用 Git 来管理项目中的文件了。

bash 复制代码
git init

克隆远程仓库

克隆一个远程 Git 仓库到本地。

bash 复制代码
git clone <仓库http网址>
  1. 文件状态相关命令

查看文件状态

查看当前工作目录的状态(哪些文件有改动,哪些文件已经暂存等)。

bash 复制代码
git status

查看修改的内容

查看已修改但未暂存的文件的具体内容差异。

bash 复制代码
git diff

将文件添加到暂存区

将修改的文件添加到暂存区,准备提交。

bash 复制代码
git add <file-name>

添加所有更改的文件:

bash 复制代码
git add .

查看文件的差异

查看已暂存的文件与最后一次提交的差异。

bash 复制代码
git diff --cached
  1. 提交相关命令
    提交修改
    提交暂存区的更改到 Git 仓库。
bash 复制代码
git commit -m "Your commit message"

提交时跳过暂存区直接提交文件

直接提交当前目录下的文件(不经过暂存区)。

bash 复制代码
git commit -am "Your commit message"

查看提交日志

查看提交历史。

bash 复制代码
git log

查看简洁的提交日志(每次提交显示一行简要信息):

bash 复制代码
git log --oneline

查看提交历史的详细信息,包括每个提交的日期和更改:

bash 复制代码
git log --stat
  1. 分支管理命令
    查看当前分支
    显示当前所在的分支。
bash 复制代码
git branch

创建新分支

创建并切换到新分支。

bash 复制代码
git branch <branch-name>
git checkout <branch-name>

或者用一个命令创建并切换到新分支:

bash 复制代码
git checkout -b <branch-name>

删除本地分支

删除一个本地分支(删除前需要先切换到其他分支)。

bash 复制代码
git branch -d <branch-name>

合并分支

合并指定分支到当前分支。

bash 复制代码
git merge <branch-name>

查看分支历史

查看分支的提交历史。

bash 复制代码
git log --graph --oneline --decorate --all
  1. 远程仓库相关命令
    查看远程仓库
    查看当前仓库的远程仓库信息。
bash 复制代码
git remote -v

添加远程仓库

将一个远程仓库添加到本地仓库。

bash 复制代码
git remote add origin <repository-url>

拉取远程仓库的更新

拉取远程仓库的更新并合并到当前分支。

bash 复制代码
git pull origin <branch-name>

推送本地更新到远程仓库

将本地的提交推送到远程仓库。

bash 复制代码
git push origin <branch-name>

推送本地分支到远程仓库

将本地新分支推送到远程仓库并设置跟踪。

bash 复制代码
git push --set-upstream origin <branch-name>

删除远程分支

删除远程仓库上的分支。

bash 复制代码
git push origin --delete <branch-name>
  1. 标签管理命令

查看所有标签

显示所有标签。

bash 复制代码
git tag

创建标签

在当前提交上创建一个标签。

bash 复制代码
git tag <tag-name>

创建带有描述信息的标签:

bash 复制代码
git tag -a <tag-name> -m "Tag message"

推送标签到远程仓库

将标签推送到远程仓库。

bash 复制代码
git push origin <tag-name>

推送所有标签:

bash 复制代码
git push --tags
  1. 撤销操作相关命令

撤销修改(未暂存)

撤销文件的修改,恢复到上次提交时的状态。

bash 复制代码
git checkout -- <file-name>

撤销暂存(已暂存)

撤销文件的暂存,恢复到修改前的状态。

bash 复制代码
git reset <file-name>

撤销最后一次提交

撤销最后一次提交,保留修改(即将修改恢复到工作区)。

bash 复制代码
git reset --soft HEAD^

撤销最后一次提交并丢弃修改:

bash 复制代码
git reset --hard HEAD^
  1. 其他常用命令

Git 仓库状态统计

查看当前 Git 仓库的大小、文件变更、提交情况等统计信息。

bash 复制代码
git gc

查看文件的提交历史

查看某个文件的提交历史。

bash 复制代码
git log -- <file-name>

重命名分支

如果您想要重命名当前分支,可以使用以下命令:

bash 复制代码
git branch -m <new-branch-name>

总结

这些命令是 Git 使用过程中常见的操作,掌握这些命令后,您就可以轻松管理代码版本、分支以及与远程仓库的同步。根据您的实际需求,灵活运用这些命令,将有助于提高工作效率。如果遇到更复杂的操作,Git 还提供了很多高级功能,您可以根据需要进一步学习和探索。

相关推荐
Ekine1 小时前
【Flink-scala】DataStream编程模型之水位线
大数据·flink·scala
蔚蓝色的风暴1 小时前
git基础(一):基本概念、工作流程
git
动态一时爽,重构火葬场2 小时前
elasticsearch是如何进行搜索的?
大数据·elasticsearch·搜索引擎
叫我DPT2 小时前
24年某马最新Hadoop课程总结文档
大数据·hadoop·分布式
P.H. Infinity2 小时前
【Elasticsearch】06-JavaRestClient查询
大数据·elasticsearch·搜索引擎
心肝到爆2 小时前
vue3项目最新eslint9+prettier+husky+stylelint+vscode配置
前端·javascript·vue.js·git·前端框架·node.js
希艾席蒂恩2 小时前
高效数据分析:五款报表工具助力企业智能决策
大数据·数据库·信息可视化·统计·报表·可视化
qiquandongkh4 小时前
期权懂|期权新手指南——个股期权操作方式详细解释
大数据·区块链
杰哥的技术杂货铺5 小时前
mac解决 Unsupported Git Version 2.15.0 At least 2.17.0 is required
git·macos
敲代码的飞5 小时前
【短视频矩阵系统==saas技术开发】
大数据·人工智能·矩阵·pdf·开源