侧边栏壁纸
博主头像
路小飞博主等级

行动起来,活在当下

  • 累计撰写 72 篇文章
  • 累计创建 12 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

02- Git

路小飞
2024-04-21 / 0 评论 / 0 点赞 / 50 阅读 / 5640 字

1.1 Git简介

Git 是一个分布式版本控制系统,最初由 Linus Torvalds 开发用于管理 Linux 内核的源代码。它现在被广泛应用于许多其他项目中,是许多软件开发团队的首选工具之一。

以下是 Git 的一些关键特性和概念:

  1. 分布式版本控制:Git 是一个分布式版本控制系统,每个开发者都有一个完整的代码仓库的拷贝,包括完整的版本历史。这使得即使在没有网络连接的情况下,开发者也可以进行提交、分支、合并等操作。

  2. 快速:Git 被设计成非常快速和高效。它的设计目标之一是在大型项目中也能够快速执行操作。

  3. 分支支持:Git 的分支操作非常轻量且快速,这使得开发者可以轻松创建、合并和删除分支,而不会影响整体的开发流程。这也是 Git 在团队协作中非常强大的一点,因为它可以支持并行开发和功能分支的管理。

  4. 版本管理:Git 能够记录代码仓库的完整历史,包括每次提交的更改内容。这使得开发者可以方便地回滚到以前的版本,查看代码变更历史,以及定位和修复 bug。

  5. 远程仓库:Git 支持与远程仓库进行交互,开发者可以将本地的代码推送到远程仓库,也可以从远程仓库拉取代码更新。这使得团队可以协作开发,并能够方便地共享代码。

  6. 开放源代码:Git 是开源的,任何人都可以查看其源代码并对其进行贡献。这使得 Git 的发展更加开放和透明。

Git 的使用通常通过命令行工具进行,但也有许多图形化界面的工具可以帮助开发者更直观地使用 Git。Git 的学习曲线可能会有些陡峭,但一旦掌握了基本概念和常用命令,它将成为开发过程中强大而不可或缺的工具。

1.2 Git的三种状态

已提交(committed)

已修改(modified)

已暂存(staged)

1.3 Git的使用流程

  1. 在git版本控制的目录下修改某个文件;
  2. 使用git add命令对修改后的文件快照,保存到暂存区域;
  3. 使用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 上传

  1. 添加修改到暂存区

    使用 git add 命令将你所做的修改添加到暂存区。假设你修改了一个名为 example.txt 的文件,并想要将这些更改提交到版本库中:

    git add example.txt
    

    或者,如果你修改了多个文件,可以使用 git add . 将所有修改添加到暂存区:

    git add .
    
  2. 提交到本地版本库

    使用 git commit 命令提交暂存区中的修改到本地版本库,并附带提交消息:

    git commit -m "Added new feature to ."
    

    这个命令会创建一个新的提交,其中包含了你在暂存区中添加的修改,并附带了提交消息 "Added new feature to example.txt"。

  3. 推送到远程仓库

    如果你想要将这些提交推送到远程仓库,以便其他开发者能够看到你的更改,可以使用 git push 命令:

    git push origin master
    

    这个命令会将本地的 master 分支上的提交推送到名为 origin 的远程仓库中。如果你的远程仓库有不同的名称或者你想要推送到不同的分支,你需要相应地修改 originmaster

通过执行以上步骤,你就完成了一个完整的提交过程:将修改添加到暂存区、提交到本地版本库,并将这些提交推送到远程仓库中。

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 pullgit 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
示例操作步骤
  1. 启动终端或者命令行工具

  2. 配置 Git 凭证缓存

    git config --global credential.helper cache
    
  3. 可选:设置缓存超时时间(例如设置为1小时):

    git config --global credential.helper 'cache --timeout=3600'
    
  4. 克隆或拉取码库以测试凭证缓存

    git clone https://github.com/your_username/your_repository.git
    cd your_repository
    git pull
    

    此时,Git 应该会提示你输入用户名和密码。如果缓存启用并且输入了正确的凭据,后续同一终端会话内的认证操作(如 git pullgit push)将不再提示输入用户名和密码,直到缓存时间到期。

优点与局限性

优点

  • 减少了频繁输入用户名和密码的烦恼。
  • 设置简单,适合需要短期解决频繁输入密码问题的情景。

局限性

  • 凭证只在缓存时间内有效,超过时间还需重新输入。
  • 在缓存时间内,凭证可能会被滥用,存在一定的安全风险。

通过合理设置缓存时间,可以在方便操作和保证安全之间找到平衡。

总结

Git 凭证缓存是一个方便且易于配置的工具,它在短期内缓存用户的凭证信息,使得多次操作无需频繁输入用户名和密码,从而提高工作效率。通过合理设置缓存时间,可以有效地在安全和便利之间达成平衡。

0

评论区