CentOS环境下Git的安装及使用
一. 二进制方式
yum -y install git
简单粗暴,一句话搞定,弊端就是版本太低,看看版本:
git --version
一般是1.8.x版本,据最新的2.40.x版本还是差挺多的
二. 源代码方式
CentOS 7环境建议选择 v2.35
以下版本,否则在编译的时候会出现错误。
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker wget https://github.com/git/git/archive/v2.33.8.tar.gz tar -zxvf v2.33.8.tar.gz cd git-2.33.8 make prefix=/usr/local/git all make prefix=/usr/local/git install
将Git添加到环境变量:
# 修改/etc/profile vim /etc/profile # 将GIT目录添加到环境变量 export PATH=$PATH:/usr/local/git/bin # 刷新环境变量 source /etc/profile
安装完毕!
三. GIT的使用
# 生成SSH-key ssh-keygen -C 'xxx@xxx.com' -t rsa # 默认位置:/root/.ssh/id_rsa # 如果设置密码,需要牢记 # 成功后,会在指定位置生成两个文件: # id_rsa:密钥 # id_rsa.pub:公钥 # 进入到SSH客户端模式 ssh-agent bash # 将刚生成的私钥添加到SSH ssh-add /root/.ssh/id_rsa # 测试与远程库的连通性 ssh -T git@github.com # 正常情况下应该输出: # Hi xxx! You've successfully authenticated, but GitHub does not provide shell access. # 关联远程库 git remote add origin git@github.com:xxx/xxx.git # 拉取远程库代码 git clone git@github.com:xxx/xxx.git # 将修改的文件加入缓存区 git add . # 将修改状态提交到本地版本库 git commit -m "更新说明" # 将本地版本推送到远程库 git push origin main
也可以借鉴知乎上的这篇文章:
https://zhuanlan.zhihu.com/p/463643494
四. 多台电脑共用一个账号维护同一个Github远程库
这种情况还是很常见的,比如办公室和家里的电脑都需要对同一个Github远程库进行同步。
首先还是配置一下默认的Git用户信息:
git config --global user.name "your name" git config --global user.email "your email"
最好跟之前那台电脑上配置的信息一样。
然后将之前生成的两个SSH KEY文件复制到这台电脑,默认位置依然是:/root/.ssh/
不出意外的话,复制过来之后的两个文件权限都是644。
需要将私钥文件的权限修改成600,否则会出现错误,认为私钥文件的权限过大。
chmod 600 id_rsa
公钥文件的权限保持默认即可,无需修改。
# 将复制过来的私钥添加到SSH ssh-add /root/.ssh/id_rsa # 测试与远程库的连通性 ssh -T git@github.com
之后的操作就和正常使用一样了:拉取、修改、提交、推送等等。
至于多个账号维护同一个Github远程库,再创建新的SSH KEY并添加到Github中就可以了。
五. 特殊操作
1. 删除add之后的缓存区文件
git rm --cached xxx
2. 撤销最近的一次commit
git reset --soft HEAD^
3. 查看工作区和暂存区的差异状态
git status
4. 查看指定文件在工作区和暂存区中的差异
git diff -- 文件名
5. 查看指定文件在暂存区和版本库中的差异
git diff --cached -- 文件名
版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)