一、环境

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

源码搭建git,并连接github的更多相关文章

  1. windows中使用Git工具连接GitHub(配置篇)

    Git在源码管理领域目前占很大的比重了,而且开源的项目很多都转到GitHub上面了.例如:jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js,  ...

  2. Caffe源码阅读(1) 全连接层

    Caffe源码阅读(1) 全连接层 发表于 2014-09-15   |   今天看全连接层的实现.主要看的是https://github.com/BVLC/caffe/blob/master/src ...

  3. ARL(资产侦察灯塔系统)-源码搭建

    freebuf能力中心开源了一套资产扫描系统(https://github.com/TophantTechnology/ARL),提供docker版,但并无源码搭建的文档(无完整文档).于是在星光哥及 ...

  4. linux(centos)源码安装git

    最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...

  5. 源码搭建LNMP

      源码安装LNMP 作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...

  6. Sublime Text 中使用Git插件连接GitHub

    sublime Text的另一个强大之处在于它提供了非常丰富的插件,可以帮助程序员来适合大多数语言的开发.这些插件通过它自己的Package Controll(包管理)组件来安装,非常方便.一般常用的 ...

  7. 利用shell脚本去备份幸运28源码搭建下载所指定的数据库

    #! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...

  8. ElasticSearch6.3.2源码分析之节点连接实现

    ElasticSearch6.3.2源码分析之节点连接实现 这篇文章主要分析ES节点之间如何维持连接的.在开始之前,先扯一下ES源码阅读的一些心得:在使用ES过程中碰到某个问题,想要深入了解一下,可源 ...

  9. 直播平台源码搭建教程:微信小程序中的直播如何去掉水印

    直播平台源码搭建教程:微信小程序中的直播如何去掉水印 本文与大家分享一下直播平台源码搭建教程,如何去掉直播视频的水印 var services = require('../../lib/service ...

随机推荐

  1. js 选中文字

    选中文字,文字背景是蓝色 当前点击的元素: var e = e || event; var tag = e.target || e.srcElement; 选中文字:window.getSelecti ...

  2. 详解python编译器和解释器的区别

    高级语言不能直接被机器所理解执行,所以都需要一个翻译的阶段,解释型语言用到的是解释器,编译型语言用到的是编译器. 编译型语言通常的执行过程是:源代码——预处理器——编译器——目标代码——链接器——可执 ...

  3. Linux Expect自动交互脚本

    https://likegeeks.com/expect-command/ In the previous post, we talked about writing practical shell ...

  4. 洛谷P1576 最小花费x

    题目背景 题目描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元 ...

  5. POJ 3613 [ Cow Relays ] DP,矩阵乘法

    解题思路 首先考虑最暴力的做法.对于每一步,我们都可以枚举每一条边,然后更新每两点之间经过\(k\)条边的最短路径.但是这样复杂度无法接受,我们考虑优化. 由于点数较少(其实最多只有\(200\)个点 ...

  6. Tire(字典树)

    Tire 字典树,又称为单词查找树,Tire 树,是一种树形结构,它是哈希树的变种. 实现原理: 字典树与字典很相似,当要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不 ...

  7. 9.Python关键字(保留字)一览表

    保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量.函数.类.模板以及其他对象命名. Python 包含的保留字可以执行如下命令进 ...

  8. JS框架_(JQuery.js)纯css3进度条动画

    百度云盘 传送门 密码:wirc 进度条动画效果: <!DOCTYPE html> <html lang="zh"> <head> <me ...

  9. HTML DOM的学习

    请看下面的 HTML 片段: <html> <head> <title>DOM 教程</title> </head> <body> ...

  10. python学习之路(2)(渗透信息收集)

    scapy的用法 通过目标ip的回复判断目标ip主机的情况 先写上三层的IP 四层的TCP 然后r.display看一下我们的包 src是源ip dst是目标ip 我们添加目标ip 这里是网关的ip ...