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):输入命令。
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 命令,涵盖了更多的操作场景:
- 基本操作命令
查看 Git 版本
显示当前安装的 Git 版本。
git --version
配置 Git 用户信息
设置用户名和电子邮件(全局配置,适用于所有仓库)。
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
查看配置项
显示当前的 Git 配置信息。
git config --list
初始化本地仓库
初始化一个 Git 仓库,当你开始使用 Git 来管理一个项目时,首先需要初始化 Git 仓库。这会在你当前文件夹中创建一个 .git 文件夹,用来记录所有 Git 信息。
解释:该命令会在当前目录下初始化一个 Git 仓库,这样你就可以开始使用 Git 来管理项目中的文件了。
git init
克隆远程仓库
克隆一个远程 Git 仓库到本地。
git clone <仓库http网址>
- 文件状态相关命令
查看文件状态
查看当前工作目录的状态(哪些文件有改动,哪些文件已经暂存等)。
git status
查看修改的内容
查看已修改但未暂存的文件的具体内容差异。
git diff
将文件添加到暂存区
将修改的文件添加到暂存区,准备提交。
git add <file-name>
添加所有更改的文件:
git add .
查看文件的差异
查看已暂存的文件与最后一次提交的差异。
git diff --cached
- 提交相关命令
提交修改
提交暂存区的更改到 Git 仓库。
git commit -m "Your commit message"
提交时跳过暂存区直接提交文件
直接提交当前目录下的文件(不经过暂存区)。
git commit -am "Your commit message"
查看提交日志
查看提交历史。
git log
查看简洁的提交日志(每次提交显示一行简要信息):
git log --oneline
查看提交历史的详细信息,包括每个提交的日期和更改:
git log --stat
- 分支管理命令
查看当前分支
显示当前所在的分支。
git branch
创建新分支
创建并切换到新分支。
git branch <branch-name>
git checkout <branch-name>
或者用一个命令创建并切换到新分支:
git checkout -b <branch-name>
删除本地分支
删除一个本地分支(删除前需要先切换到其他分支)。
git branch -d <branch-name>
合并分支
合并指定分支到当前分支。
git merge <branch-name>
查看分支历史
查看分支的提交历史。
git log --graph --oneline --decorate --all
- 远程仓库相关命令
查看远程仓库
查看当前仓库的远程仓库信息。
git remote -v
添加远程仓库
将一个远程仓库添加到本地仓库。
git remote add origin <repository-url>
拉取远程仓库的更新
拉取远程仓库的更新并合并到当前分支。
git pull origin <branch-name>
推送本地更新到远程仓库
将本地的提交推送到远程仓库。
git push origin <branch-name>
推送本地分支到远程仓库
将本地新分支推送到远程仓库并设置跟踪。
git push --set-upstream origin <branch-name>
删除远程分支
删除远程仓库上的分支。
git push origin --delete <branch-name>
- 标签管理命令
查看所有标签
显示所有标签。
git tag
创建标签
在当前提交上创建一个标签。
git tag <tag-name>
创建带有描述信息的标签:
git tag -a <tag-name> -m "Tag message"
推送标签到远程仓库
将标签推送到远程仓库。
git push origin <tag-name>
推送所有标签:
git push --tags
- 撤销操作相关命令
撤销修改(未暂存)
撤销文件的修改,恢复到上次提交时的状态。
git checkout -- <file-name>
撤销暂存(已暂存)
撤销文件的暂存,恢复到修改前的状态。
git reset <file-name>
撤销最后一次提交
撤销最后一次提交,保留修改(即将修改恢复到工作区)。
git reset --soft HEAD^
撤销最后一次提交并丢弃修改:
git reset --hard HEAD^
- 其他常用命令
Git 仓库状态统计
查看当前 Git 仓库的大小、文件变更、提交情况等统计信息。
git gc
查看文件的提交历史
查看某个文件的提交历史。
git log -- <file-name>
重命名分支
如果您想要重命名当前分支,可以使用以下命令:
git branch -m <new-branch-name>
总结
这些命令是 Git 使用过程中常见的操作,掌握这些命令后,您就可以轻松管理代码版本、分支以及与远程仓库的同步。根据您的实际需求,灵活运用这些命令,将有助于提高工作效率。如果遇到更复杂的操作,Git 还提供了很多高级功能,您可以根据需要进一步学习和探索。