linux服务器上安装git,并配置IDEA上传项目到自己的git库中
1)升级yum系统(当时未升级)
yum update
2) 卸载旧版本git(如果有的话)
yum remove git -y
3)安装相关的依赖包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
#-bash: wget: command not found 解决方法
yum -y install wget
4)下载Git源码并解压
# git各版本源码下载地址:https://www.kernel.org/pub/software/scm/git
wget https://www.kernel.org/pub/software/scm/git/git-2.11.1.tar.gz -P /usr/zhangqiang/git
cd /usr/zhangqiang/git && tar -zxvf git-2.11.1.tar.gz && cd git-2.11.1
5)编译安装
# prefix的作用是指定安装目录,用了—prefix选项的另一个好处是卸载软件或移植软件。
# 当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;
# 移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
# configure(配置)[prefix 就是configure当中的参数之一] make(编译) make install(安装)
make prefix=/usr/git all && make prefix=/usr/git install
6)配置git环境变量
echo "export PATH=$PATH:/usr/git/bin" >> /etc/bashrc && source /etc/bashrc
# 或者
vim /etc/bashrc
# 在最后一行添加
export PATH=/usr/git/bin:$PATH
source /etc/bashrc
7)验证是否安装成功
git --version(提示版本号说明安装成功)
8)基本配置
git config --global user.name 'zhangqiang'
git config --global user.email 'intelli_zq@163.com'
9)新建git用户
useradd git
10)给新建的用户赋予sudo权限
visudo || vi /etc/sudoers
# 添加下面的代码,保存退出
git ALL=(ALL) NOPASSWD: ALL
11)在git用户下运行ssh-keygen -t rsa生成.ssh文件夹
12)创建git远程库并初始化
mkdir sample.git
cd sample.git
# 在初始化远程仓库时最好使用 git --bare init 而不要使用:git init
# 如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时,
# 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上,
# 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.
git --bare init
13)在客户端(windows)安装git下载地址 https://git-scm.com/download/win
14)运行windows git bash
ssh-keygen -t rsa -C "zhang_qiang_neu@neusoft.com"
15)将生成的密钥放在linux服务器上的 /home/git/.ssh/authorized_keys
sudo cat /usr/zhangqiang/id_rsa.pub >> /home/git/.ssh/authorized_keys
或者 scp id_rsa.pub git@10.4.120.83:.ssh/authorized_keys
# 注:.ssh文件夹的权限应该是700, authorized_keys文件的权限应该是644
16)验证ssh
ssh git@10.4.120.83
17)在IDEA上配置Git
Settings(Ctrl+Alt+S) -> Version Control -> Git -> 设置Path to Git executable为git.exe所在的路径
18)在windows上使用git bash提交变更到远程库
# 初始化git本地库
git init
# git add . 是将当前文件夹下的所有文件添加到git的跟踪中,意思就是交给git经管,提交到本地库
git add src # 将文件夹src提交到本地库
# 写提交信息
git commit -m "first commit"
# 设置远程库
git remote add origin git@10.4.120.83:/home/git/sample.git
# 将本地变更推送到远程库
git push -u origin master
# 一些常用git命令
# 将远程库变更更新到本地库
git pull --rebase origin master
# 将github上的项目down下来。
git clone git@github.com:ellocc/gittest.git
# 状态查询命令
git status
19)右键idea项目中的src(之前add到git库的文件夹),此时会有Git选项,可以通过此选项进行相关的操作
20)禁止git用户的shell登陆
vi /etc/passwd
将 git:x:501:501::/home/git:/bin/bash 修改为git:x:501:501::/home/git:/usr/git/bin/git-shell