# centos7安装Git

# 源码安装

# 1. 安装前要手动安装下依赖包

yum install -y wget
yum install -y gcc-c++
yum install -y zlib-devel perl-ExtUtils-MakeMaker
yum install -y curl-devel curl libcurl-devel libcurl
yum install -y make

# 2. 去官网下载最新版本的git源码包

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.31.0.tar.gz

# 3. 接下来就是解压,配置,安装

tar -zxvf git-2.31.0.tar.gz
cd git-2.31.0
./configure --prefix=/usr/local
make && make install

./configure后面的–prefix=/usr/local,指定安装路径为usr/local

# Git常用命令

# 安装git后
git config --global user.name "Your Name"
git config --global user.email "email@example.com"


#创建版本库
pwd 命令用于显示当前目录(没啥用)
git init #把这个目录变成Git可以管理的仓库(后续新建提交和ssh克隆需要)	

#操作版本库
git add #文件名 添加文件(新增或者更改都需要先add)
git commit -m "说明" #提交到本地版本库

git status #查看仓库状态
git diff 文件名 #查看修改的地方

#版本回退(从一个commit恢复)
git log #查看版本历史
git reset --hard HEAD^ #回退到上个版本
git reset --hard 1094a #回退到特定版本号(commit以后回退)
git reflog #记录每一次命令

git checkout -- file #直接丢弃工作区的修改(add以前回退)
git reset HEAD <file> #添加到了暂存区时,想丢弃修改(add以后回退)

#删除文件
git rm file(已经add/commit,在目录中删除)

git checkout -- file #删错了回退

#远程仓库
git remote add origin git@server-name:path/repo-name.git #关联远程库
git push -u origin master #第一次的push
git push origin master #常用的push,本地分支会在服务器上新建分支
git pull 需要有关联的分支,#第一次下拉最好新建一个空文件夹
git branch --set-upstream-to=origin/远程分支 本地分支 #关联分支

git clone git@server-name:path/repo-name.git #克隆(不需要另建文件夹)

#支
git branch -a #看所有分支
git branch -vv #看分支关联
git branch dev #建分支
git checkout dev #换分支
git merge dev #并某分支到当前分支
git merge --no-ff -m "msg" dev #通模式合并,合并后的历史有分支
git branch -d dev #除分支
git checkout -b dev #建并切换分支


#并分支,无法merge
git stash save 名字 #存工作状态
git pull origin dev #下来 
git stash list #看已经暂存的状态
git stash pop stash@{0} #暂存状态merge到当前分支
#有冲突时,手动修改文件,然后add/commit
git log --graph #支合并图

#ug分支issue
git stash #存工作状态
git stash list #看暂存工作状态
git stash pop #复暂存状态并删除状态

#发分支feature
git branch -D <name> #制删除未合并的分支

#ebase
git rebase #地未push的分叉提交历史整理成直线

#标签
git tag 标签名 #在最新提交的commit上
git tag #询所有标签
git tag 标签名 f52c633 #特定的commit打标签
git tag -a 标签名 -m "msg" commit的id #标签设置说明
git show 标签名 #询标签内容
git tag -d 标签名 #除标签
git push origin 标签名 #送某个标签到远程
git push origin --tags #送所有标签
git push origin :refs/tags/<tagname> #以删除一个远程标签。
Last Updated: 12/19/2024, 11:18:15 AM