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 -- 文件名
版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。