一,linux 下 git 安装

1.1 yum 安装(不推荐)

# 安装 git
yum install git  

# 查看 git 版本
git --version

缺点: 虽然安装方便,但是安装上的版本太低。

1.2 源码编译安装

  1. 查看git当前最新版本:https://github.com/git/git/releases

服务器 公钥 私钥 服务器生成公钥的命令_解决冲突

  1. 下载:wget https://github.com/git/git/archive/v2.24.0.tar.gz
  2. 压缩包解压:tar -zxvf v2.24.0.tar.gz
  3. 安装编译源码所需以来:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
  4. 安装依赖时,yum 自动安装了 git,需要先卸载:yum remove git
  5. 进入解压缩后的文件夹,进行编译:make prefix=/usr/local/git all
  6. 安装 git 到 /usr/local/git路径:make prefix=/usr/local/git install
  7. 添加环境变量:vim /etc/profile,在底部加上git相关配置 export PATH=/usr/local/git/bin:$PATH
  8. 立即生效:source /etc/profile
  9. 验证:git --version

二,git 生成公钥

# 1 生成公钥,后边是你的邮箱,然后连按三次回车
ssh-keygen -t rsa -C "xxxxxx@xxxx.com"

# 2 查看公钥
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB#....

# 如果是windows,直接找到id_rsa.pub文件,打开复制即可
我的目录:C:\Users\lenovo\.ssh

# 3 复制公钥,添加到 git 上即可

解决: 每次拉取代码时都需要输入用户名密码问题

git config --global credential.helper store
# 再执行 git pull,需输入一次密码。之后再pull就可以直接拉取代码了

三,git 常用命令

2.1 本地初始化仓库,并链接到远程

  1. 【git init】:初始化【.git】文件
  2. 【git status】:查看项目中那些文件发生了变化,校验git init 是否成功
  3. 【git add .】:添加所有的变更文件,在使用git status检查,是否为“new file”
  4. 【git commit -m ‘firstCommit’】:提交到本地仓库
  5. 【git remote add origin git地址】:连接到远程(未提交)
  6. 【git branch】:查看本地分支
  7. 【git pull】:拉取代码
  8. 【git push -u origin master】:推送到远程,如报错“Updates were rejected because the tip of your current brance is master”,表示远程版本比本地新,需要强制推送
  9. 【git push -u -f origin master】:强制推送
  10. 【git branch -r】:查看远程分支
  11. 【git chechout -b 分支名 origin/master】:创建分支,并切换到新的分支。在master的基础上生成分支,执行git branch查看分支
  12. 【git push origin HEAD -u】:将分支推送到远程

2.2 github上新建项目,拉取到本地

  1. github上新建项目,并复制项目git地址
  2. 【git clone 项目地址】:将项目克隆到本地
  3. 修改完项目后,执行,【git add .】、【git commit -m ‘’】、【git push】等进行代码提交

2.3 常用的解决冲突的办法

  1. git stash:备份当前工作区的内容
  2. git pull:再次拉取线上代码
  3. git stash pop:将本地工作内容与拉取代码合并。完成后,可能会出现冲突的情况,然后对每个冲突文件进行修改。
  4. 然后执行正常的提交(git add、git commit、git push等)

2.4 git 版本回退

  1. git log --pretty=oneline:查看从最近到最远的提交日志
  2. git reset --hard 1094a…:回退到指定版本
  3. git reset --soft HEAD^:撤销commit
  4. 提示:HEAD is now at 1094a hx:表示回退成功
  5. git push -f origin master:将本地版本强制提交到远程