主要记录两件事情,一个是如何git clone github代码到本地,二是git clone到非空文件夹下出错的解决方案。
第一:
在电脑没有安装git的情况下,手动安装git。具体步骤如下:
1.安装依赖的包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下载git源码并解压 https://github.com/git/git/releases/tag/v2.11.0
解压 tar zxvf git-2.11.0.tar.gz
cd git-2.11.0
2.编译安装
make prefix=/usr/local/git all
make prefix=/usr/local/git install
查看git
whereis git
git –version
3、配置环境变量
vim /etc/profile
加入export PATH=$PATH:/usr/local/git/bin【这一步修改文件时可能会存在失败的情况,多是权限不足,修改上一条命令为 sudo vim /etc/profile即可解决问题】
生效配置文件 source /etc/profile
4、配置公钥
生成 sshkey,敲三次回车即可
ssh-keygen -t rsa -C"xxxxx@xxxxx.com"
查看你的 public key,并把他添加到github
cat ~/.ssh/id_rsa.pub
5、克隆代码
git clone 代码ssh地址
至此就可以利用git clone任意下载github上的代码,此时代码默认会下载到当前目录下,可以通过pwd查看当前所在目录。
第二,如何git clone文件到指定位置。
git clone 代码ssh地址 表示clone代码文件到当前目录下
git clone 代码ssh地址 path 表示clone代码文件到path路径下,可能或出现如下的错误:
fatal: destination path 'XXXXX' already exists and is not an empty directory.
解决的办法是:
1. 进入非空目录,假设是 /workdir/proj1
2. git clone --no-checkout 代码ssh地址 tmp
3. mv tmp/.git . #将 tmp 目录下的 .git 目录移到当前目录
4. rmdir tmp
5. git reset --hard HEAD
然后就可以进行各种正常操作了。
此时 执行git clone 代码ssh地址 就可以正常clone代码到本地文件夹。
参考资料:
1.centos下安装git并clone代码 https://www.jianshu.com/p/75e3f195cc61
2.如何 clone git 项目到一个非空目录 https://www.oschina.net/question/54100_167919