1.1 Git简介
Git 是一个分布式版本控制系统,最初由 Linus Torvalds 开发用于管理 Linux 内核的源代码。它现在被广泛应用于许多其他项目中,是许多软件开发团队的首选工具之一。
以下是 Git 的一些关键特性和概念:
-
分布式版本控制:Git 是一个分布式版本控制系统,每个开发者都有一个完整的代码仓库的拷贝,包括完整的版本历史。这使得即使在没有网络连接的情况下,开发者也可以进行提交、分支、合并等操作。
-
快速:Git 被设计成非常快速和高效。它的设计目标之一是在大型项目中也能够快速执行操作。
-
分支支持:Git 的分支操作非常轻量且快速,这使得开发者可以轻松创建、合并和删除分支,而不会影响整体的开发流程。这也是 Git 在团队协作中非常强大的一点,因为它可以支持并行开发和功能分支的管理。
-
版本管理:Git 能够记录代码仓库的完整历史,包括每次提交的更改内容。这使得开发者可以方便地回滚到以前的版本,查看代码变更历史,以及定位和修复 bug。
-
远程仓库:Git 支持与远程仓库进行交互,开发者可以将本地的代码推送到远程仓库,也可以从远程仓库拉取代码更新。这使得团队可以协作开发,并能够方便地共享代码。
-
开放源代码:Git 是开源的,任何人都可以查看其源代码并对其进行贡献。这使得 Git 的发展更加开放和透明。
Git 的使用通常通过命令行工具进行,但也有许多图形化界面的工具可以帮助开发者更直观地使用 Git。Git 的学习曲线可能会有些陡峭,但一旦掌握了基本概念和常用命令,它将成为开发过程中强大而不可或缺的工具。
1.2 Git的三种状态
已提交(committed)
已修改(modified)
已暂存(staged)
1.3 Git的使用流程
- 在git版本控制的目录下修改某个文件;
- 使用
git add命令对修改后的文件快照,保存到暂存区域; - 使用
git commit命令提交更新,将保存在暂存区的文件快照永久转储到Git目录中。
1.4 Git安装
yum -y install git
1.5 Git常用命令
1.5.1 下载
git clone [ -b <分支名> ] <远程仓库地址> [<目录名>]
git clone -b dev https://github.com/username/example-repo.git myapp
git clone -b ops https://gitee.com/linux-lxf/lxf.git
git clone https://gitee.com/linux-lxf/lxf.git
上述命令的含义是要将名为 example-repo 的远程仓库的 dev 分支克隆到本地的 myapp 目录中。
<分支名>是要克隆的特定分支的名称。<远程仓库地址>是要克隆的远程仓库的 URL。[<目录名>]是可选的目标目录名称,用于指定将远程仓库克隆到本地的哪个目录中。
1.5.2 上传
-
添加修改到暂存区:
使用
git add命令将你所做的修改添加到暂存区。假设你修改了一个名为example.txt的文件,并想要将这些更改提交到版本库中:git add example.txt或者,如果你修改了多个文件,可以使用
git add .将所有修改添加到暂存区:git add . -
提交到本地版本库:
使用
git commit命令提交暂存区中的修改到本地版本库,并附带提交消息:git commit -m "Added new feature to ."这个命令会创建一个新的提交,其中包含了你在暂存区中添加的修改,并附带了提交消息 "Added new feature to example.txt"。
-
推送到远程仓库:
如果你想要将这些提交推送到远程仓库,以便其他开发者能够看到你的更改,可以使用
git push命令:git push origin master这个命令会将本地的
master分支上的提交推送到名为origin的远程仓库中。如果你的远程仓库有不同的名称或者你想要推送到不同的分支,你需要相应地修改origin和master。
通过执行以上步骤,你就完成了一个完整的提交过程:将修改添加到暂存区、提交到本地版本库,并将这些提交推送到远程仓库中。
1.6 Git 免密拉取代码
1. 启用 Git 凭证缓存
要启用 Git 凭证缓存,可以使用以下命令:
git config --global credential.helper cache
这条命令将在全局配置中启用凭证缓存功能。默认情况下,缓存时间是15分钟。
2. 设置缓存时间
如果需要更改默认的缓存时间,可以使用以下命令,3600 表示缓存时间为3600秒(1小时):
git config --global credential.helper 'cache --timeout=3600'
3. 使用方法
配置好凭证缓存之后,首次进行需要认证的 Git 操作(如 git pull、git push)时,Git 会提示你输入用户名和密码。这些凭据会存储在缓存中,直到超时时间到达。在缓存有效期间进行的 Git 操作将不再提示输入用户名和密码。
4. 授权期间的 Git 操作
在缓存时间内,你可以正常执行需要认证的 Git 操作而无需再次输入用户名和密码。例如:
git clone https://github.com/your_username/your_repository.git
git pull origin master
git push origin master
5. 查看当前凭据助手
如果想查看当前使用哪种凭据助手,可以运行以下命令:
git config --global credential.helper
示例操作步骤
-
启动终端或者命令行工具。
-
配置 Git 凭证缓存:
git config --global credential.helper cache -
可选:设置缓存超时时间(例如设置为1小时):
git config --global credential.helper 'cache --timeout=3600' -
克隆或拉取码库以测试凭证缓存:
git clone https://github.com/your_username/your_repository.git cd your_repository git pull此时,Git 应该会提示你输入用户名和密码。如果缓存启用并且输入了正确的凭据,后续同一终端会话内的认证操作(如
git pull或git push)将不再提示输入用户名和密码,直到缓存时间到期。
优点与局限性
优点:
- 减少了频繁输入用户名和密码的烦恼。
- 设置简单,适合需要短期解决频繁输入密码问题的情景。
局限性:
- 凭证只在缓存时间内有效,超过时间还需重新输入。
- 在缓存时间内,凭证可能会被滥用,存在一定的安全风险。
通过合理设置缓存时间,可以在方便操作和保证安全之间找到平衡。
总结
Git 凭证缓存是一个方便且易于配置的工具,它在短期内缓存用户的凭证信息,使得多次操作无需频繁输入用户名和密码,从而提高工作效率。通过合理设置缓存时间,可以有效地在安全和便利之间达成平衡。
评论区