源码搭建git,并连接github

一、环境

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.
小结:带着错误,多百度。

原文地址:https://www.cnblogs.com/zjz20/p/11742523.html