Git 安装使用
# Git 安装使用
系统:CentOS Linux release 7.6 (Core)
Git版本:2.25.4
# Git 常用命令
# 初始化当前目录
git init
# 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
# 显示当前的Git配置
git config --list
# 编辑Git配置文件
git config -e [--global]
# 设置提交代码时的用户信息 --global 配置全局
git config [--global] user.name "[name]"
git config [--global] user.email "[email address]"
# 下载远程仓库的所有变动
git fetch [remote]
# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
git reset --hard [commit id]
# 合并指定分支到当前分支
git merge [branch]
# 退出合并状态
git merge --abort
# 删除分支
git branch -d [branch-name]
# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
# 添加当前目录的所有文件到暂存区
git add .
# 提交暂存区到仓库区
git commit -m [message]
# 上传本地指定分支到远程仓库
git push [remote] [branch]
# 回退到上个版本
git reset --hard HEAD^
# 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard HEAD~3
# 退到/进到 指定commit的sha码
git reset --hard commit_id
# 强推到远程
git push origin HEAD --force
# 拉去远程库所有分支信息
git fetch --all
# git 统计项目某个时间点后文件变更次数
git --no-pager log --format=format:'%h' --no-merges --since 2021-01-29 | \
awk '{system(" git --no-pager diff --stat-name-width=300 --name-only "$1" "$1"~") }'| \
awk '{fs[$0]+=1} END{for(f in fs) printf("%d\t%s\r\n",fs[f],f) }' | sort -k 2
# 强制更新本地tags
git fetch --tags -f
# Linux 下安装 Git
# Yum 快速安装
# 1、在Linux上使用yum安装Git
# 使用yum安装简单快捷,但是git版本较低
yum -y install git
# 2、查看Git
git --version
# 输出当前版本 git version 1.8.3.1
# 如果想要安装当前git最新版本,可以使用第二种方法
# 手动下载 Git 最新安装包
# 下载可以直接在github上下载 tar.gz 安装包 也可以使用 weget 命令下载
# 1 Github手动下载安装包 下载完成后放到linux服务上
# 2 weget下载命令 根据自己选择的版本
wget https://github.com/git/git/archive/v2.25.4.tar.gz
# 安装包下载完成后 解压
tar -zxvf v2.25.4.tar.gz
# 解压完成后进入目录
cd git-2.25.4
# 安装git相关依赖
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
# 编译Git
make prefix=/usr/local/git all
# 安装git至/usr/local/git路径
make prefix=/usr/local/git install
# 配置环境变量
vi /etc/profile
# 在底部加上如下
export PATH=$PATH:/usr/local/git/bin
# 或者执行命令添加环境变量
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
# 刷新环境变量
source /etc/profile
# 设置软链接
ln -s /usr/local/bin/git /usr/bin/git
# 安装完成 查看git版本
git --version
# git version 2.25.4
执行脚本自动安装git
在执行脚本之前需先检查是否已安装git,若已安装则需先卸载之前安装,再执行此脚本
echo '下载'
wget https://github.com/git/git/archive/v2.25.4.tar.gz
echo '解压'
tar -zxvf v2.25.4.tar.gz
echo '进入目录'
cd git-2.25.4
echo '安装依赖'
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
echo '创建安装目录'
mkdir /usr/local/git
echo '执行编译'
make prefix=/usr/local/git all
echo '设置安装路径'
make prefix=/usr/local/git install
echo '配置环境变量'
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
echo '删除旧链接'
rm -rf /usr/bin/git
echo '刷新环境变量'
source /etc/profile
echo '设置软链接'
ln -s /usr/local/bin/git /usr/bin/git
echo '查看版本'
git --version
# Windows 下安装 Git
# 安装下载
Git 官网安装包下载 (opens new window)
# 配置 ssh
# 生成git密钥
ssh-keygen -t rsa -C "你在 GitLab 上的邮箱地址"
# 进入秘钥存放目录
cd ~/.ssh/
cat id_rsa.pub # 查看公钥 并复制
# 复制公钥到 gitlab 的 个人资料设置 -> SSH密钥
# 将公钥添加到 gitlab 中,即可在shell中使用ssh链接拉取gitlab代码
# 配置多个 ssh-key
按照上述生成密钥的步骤,生成密钥一
# 生成密钥 ssh-keygen -t rsa -C "xxx@163.com"
在生成过程中,设置密钥文件名:
# 在此步骤配置密钥文件名: Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):gitee_rsa # gitee_rsa(此处可以设置为随意文件名) 后两步可不配置
配置 config
进入
~/.ssh/
目录,如无config
文件,则新增(vim config
);有,则修改(vi config
)# gitee Host gitee.com # 域名 Port 22 # 端口号,默认为22 HostName gitee.com # 主机名(建议与 Host 一致) PreferredAuthentications publickey # 公钥 IdentityFile ~/.ssh/gitee_rsa # gitee_rsa 为自定义的密钥文件名(即第二步设置的文件名) User xiaoc # 登录名(即对应) # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_rsa User xiaoc # gitlab ... # 同上
在对应
Git
仓库设置中添加对应ssh key
即可
# git 删除提交历史
git checkout --orphan latest_branch
git add -A
git commit -am "commit message"
git branch -D master
git branch -m master
git push -f origin master
# 常见问题
1、 Git 解决 would clobber existing tag 问题
* branch master -> FETCH_HEAD
! [rejected] latest -> latest (would clobber existing tag)
# 强制更新本地tags
git fetch --tags -f