一、环境
1、下载源码包
https://mirrors.edge.kernel.org/pub/software/scm/git/
2、安装编译环境
#yum install gcc
gcc-c++
zlib
zlib-devel
perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker curl-devel expat-devel gettext-devel openssl-devel
二 、安装
#tar -xvf git-2.9.5.tar
#cd git-2.9.5/
#./configure --prefix=/home/Git
#make && make install
# vi /etc/profile
export PATH=$PATH://home/Git/bin
#source /etc/profile
三、初始化和账户
# git init
Reinitialized existing Git repository in /home/.git/
# git config --global user.name "zjz"
# git config --global user.email "157@qq.com"
# git config --list
user.name=zjz
user.email=157@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
四、git用ssh连接github
1、生成本地ssh key
#ssh-keygen -t rsa -C 'git@github.com'
2、复制 公钥,在github 中添加ssh key
# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJuDgCtLqplUxi/fH6GvWFR4FcbbWvi2wWUVKNsmmsMhd3mvN8NlYVMaNaoNiuOaZw/N0oKtv5j/PxOnhFEgDlQmgAU5oqLWXfulUe/di1xsLSIbcVV9ff5Uy8RbUwFPQuHaW2TVv2M7FpGoLXUSVm+luHFsjj7emNmuv7q2wh97xXiJPMbywCgWh0+YiO8t5MunihIYegfP8QGd4Zl+6qmwxvPDhVIPd4tRU+exGBEL6k47cmIJRQCmG9XW80WQFYHznoimmzGS5YDLjEQO6NX8YA/CzZYGwtMO20B9QP/ORN/XAYLHjzcvyc0RdHIXaVXyVWkMcrd1t+alS2U+c1 git@github.com
3、在github找到账户设置
4、进行认证(但不能远程连接)
# ssh -T git@github.com
5.在本地添加远程仓库用户名
# git config --global user.name 'xiaohong'
6.在本地添加远程仓库邮箱
# git config --global user.email '512050951@163.com'
7.启用默认的颜色设置
# git config --global color.ui true
8.查看配置
# git config --list
user.name=xiaohong
user.email=512050951@163.com
color.ui=true
# ls .gitconfig
.gitconfig
# cat .gitconfig
[user]
name = xiaohong
email = 512050951@163.com
[color]
ui = true
9.连接远程仓库
# git remote -v
origin git@github.com:zjz5740-zjz/zhang.git (fetch)
origin git@github.com:zjz5740-zjz/zhang.git (push)
10.设置远程仓库地址
# git init (初始化很重要,不然后续出错)
Initialized empty Git repository in /root/.git/
# git remote add origin git@github.com:zjz5740-zjz/zhang.git
11.克隆远程仓库文件
# git clone git@github.com:zjz5740-zjz/zhang.git
Cloning into 'zhang'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
Checking connectivity... done.
# ls
anaconda-ks.cfg zhang
12.上传文件
# git init && ls (初始化)
cdn.txt kail.txt
# git remote add origin git@github.com:zjz5740-zjz/zhang.git (如果报错,执行git remote rm origin )
# git add . (建立当前文件夹下所有的文件,为准备上传的文件)
# git commit -m 'this is first commit' (提交上传说明)
[master aec3079] this is first commit
1 file changed, 1 deletion(-)
delete mode 160000 zhang
# git push -u origin master (上传报错)
解决办法:
# git pull --rebase origin master (错误的主要原因是github中的README.md文件不在本地代码目录中注:pull=fetch+merge)
warning: no common commits
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 15 (delta 1), reused 8 (delta 0), pack-reused 0
Unpacking objects: 100% (15/15), done.
From github.com:zjz5740-zjz/zhang
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
First, rewinding head to replay your work on top of it...
Applying: this is first commit
Applying: this is first commit
# git push -u origin master (再次上传)
Counting objects: 6, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.74 KiB | 0 bytes/s, done.
Total 6 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
To github.com:zjz5740-zjz/zhang.git
e040c39..c73eb6c master -> master
Branch master set up to track remote branch master from origin.
小结:带着错误,多百度。