Git安装、使用、配置以及常用命令教程
在我们日常开发过程中,代码的版本控制尤其重要,尤其是多人团队开发时,没有一个强大代码版本控制,那就是一种灾难,因为无法跟进谁开发功能,代码冲突也无法解决,所以在计算机编程语言发展过程中,代码版本控制一直都是其核心一环,我最先接触的就是FTP这个老古董项目管理,使用FTP工具进行远端项目上传下载和覆盖,这种工具目前已经逐步退出历史舞台,除了一些小企业站在使用外,已经被各大企业抛弃,之后接触过SVN,其可以做版本控制,版本跟踪,当时先对于Git,其有一定劣势相对于Git而言,SVN在分布式架构、分支管理、性能与效率、安全性与完整性、灵活性与可扩展性以及学习曲线等方面存在一定的劣势,而Git是一个强大的分布式版本控制系统,它提供了许多用于代码管理和版本控制的命令,且各大开源系统都是使用Git进行项目管理,接下来我们了解一下什么Git?
一、Git安装
1. 下载Git
首先,访问Git的官方网站(https://git-scm.com/)下载适用于你操作系统的Git安装包。对于Windows用户,可以访问下载页面(https://git-scm.com/download/win/)选择相应的版本进行下载。
2. 安装Git
- 双击下载好的exe文件开始安装。
- 默认安装路径是C盘,建议修改为其他非中文且没有空格的路径,然后点击“Next”。
- 在Git选项配置中,通常建议保持默认设置,继续点击“Next”。
- Git安装目录名一般不用修改,直接点击“Next”。
- 对于Git的默认编辑器,推荐使用Vim编辑器,然后点击“Next”。
- 接下来的步骤中,包括Git创建分支后的默认名字(master,现在新版本的Git可能默认使用main)、Git的环境变量、HTTPS连接、行末换行符等,都建议按照默认设置进行,除非你有特殊需求。
- 选择Git Bash作为默认的终端类型,继续点击“Next”。
- 在Git pull合并模式等选项中,也保持默认设置。
- 额外的配置选项,由于技术还不成熟且存在已知bug,不建议勾选。
- 点击“Install”按钮开始安装,安装完成后点击“Finish”。
3. 检查安装
打开命令行工具(Windows下可以使用cmd或PowerShell),输入git --version
来检查Git是否安装成功,并查看其版本信息。
二、Git使用
1. 初始化仓库
在命令行中,进入你的项目目录,使用git init
命令来初始化一个新的Git仓库。这会在当前目录下创建一个.git
文件夹,用于存储版本历史和配置信息。
2. 查看仓库状态
使用git status
命令来查看当前仓库的状态,包括哪些文件已被修改但尚未提交等。
3. 添加文件到暂存区
使用git add 文件名
或git add .
(添加所有文件)将文件添加到暂存区。
4. 提交更改
使用git commit -m '注释'
命令将暂存区的更改提交到版本库中。每次提交都会生成一个唯一的哈希值用于标识。
5. 查看提交历史
使用git log
命令查看项目的提交历史,了解每次提交的详细信息。
6. 版本回退
如果需要回退到之前的版本,可以使用git reset --hard 版本号
命令。版本号可以通过git log
查看。
三、Git配置
1. 配置用户名和邮箱
Git提交时,需要知道是谁提交的,因此需要配置用户名和邮箱。这可以通过全局配置或仓库配置来完成。
-
全局配置:对所有Git仓库生效。
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
-
仓库配置:只对当前仓库生效。
cd 仓库目录 git config user.name "Your Name" git config user.email "your.email@example.com"
2. 配置SSH
为了安全地连接到远程Git仓库(如GitHub、GitLab等),建议使用SSH密钥对进行身份验证。
-
生成SSH密钥对:
ssh-keygen -t ed25519 -C "your_email@example.com"
按照提示完成密钥生成,通常不需要设置密码短语。
-
添加公钥到Git服务器:
- 登录到你的Git服务器(如GitHub、GitLab)。
- 进入SSH密钥设置页面,添加生成的公钥(
~/.ssh/id_rsa.pub
文件的内容)。
-
配置Git客户端使用SSH:
- 修改远程仓库的URL为SSH格式的URL,例如
git@github.com:username/repo.git
。 - 使用
git remote set-url origin git@github.com:username/repo.git
命令修改远程仓库的URL。
- 修改远程仓库的URL为SSH格式的URL,例如
四、Git常用命令
1. 仓库初始化与克隆
- git init:在当前目录初始化一个新的Git仓库,创建一个
.git
目录。 - git clone [url]:克隆一个远程仓库到本地。可以指定分支进行克隆,例如
git clone -b 分支名 url
。
2. 文件操作
- git add [文件名]:将文件添加到暂存区,准备提交。使用
.
可以添加所有已修改和新增的文件。 - git rm [文件名]:从版本库中删除文件,并同时从工作目录中删除该文件。如果只想从版本库中删除文件但保留工作目录中的文件,可以使用
git rm --cached [文件名]
。 - git mv [旧文件名] [新文件名]:移动或重命名文件。
3. 提交操作
- git commit -m “提交信息”:提交暂存区的文件到本地仓库,并附上一条描述本次提交的备注信息。
- git commit --amend:修改最后一次提交的备注信息,或者将新的改动加入到上一次提交中。
4. 分支管理
- git branch:列出本地分支,创建或删除分支。例如,
git branch 新分支名
创建新分支,git branch -d 分支名
删除已合并的分支。 - git checkout [分支名]:切换到指定分支。
git checkout -b 新分支名
可以在创建新分支的同时切换到该分支。 - git merge [分支名]:合并指定分支到当前分支。
- git rebase [分支名]:将当前分支的提交应用到指定分支上,并重新应用提交。
5. 远程仓库操作
- git remote -v:显示远程仓库的详细信息。
- git fetch [远程仓库名]:从远程仓库拉取最新变更,但不合并到本地分支。
- git pull [远程仓库名] [分支名]:拉取远程分支并合并到本地分支。可以使用
--rebase
选项来避免合并提交。 - git push [远程仓库名] [分支名]:将本地分支推送到远程仓库。
-u
或--set-upstream
选项可以在推送时设置上游(远程跟踪分支)。
6. 查看与比较
- git status:显示工作区和暂存区的状态。
- git diff:显示文件修改的差异。
git diff HEAD
可以查看工作区与最近一次提交之间的差异。 - git log:显示提交日志。可以使用
--pretty=oneline
、--graph
等选项来美化输出。 - git show [commit_id]:显示某次提交的详细内容。
7. 高级操作
- git stash:暂存当前工作区的修改,以便切换到其他分支或进行其他操作。
git stash apply
可以恢复暂存的修改,git stash drop
可以删除暂存的修改。 - git cherry-pick [commit_id]:选择并应用某个提交的更改到当前分支。
- git bisect:用于二分查找引入bug的提交。
- git reflog:查看所有的引用日志,包括已经被删除的提交和分支。
8. 配置
- git config:配置Git的各种选项和变量。例如,
git config --global user.name "用户名"
设置全局用户名,git config --global user.email "邮箱地址"
设置全局用户邮箱。
总结
Git是一款强大的分布式版本控制系统,通过本文的教程,你学会了如何安装Git、使用Git进行基本的版本控制操作,以及如何配置Git的用户信息和SSH密钥对。这些步骤将帮助你更好地使用Git进行代码管理和团队协作。记得定期更新你的Git版本,以获取最新的功能和安全修复。