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 -- 文件名
posted @ 2023-05-09 16:19  网无忌  阅读(609)  评论(0编辑  收藏  举报