本文讲解下git的使用,包括使用git上传项目工程到github,以及错误解决。

1.安装git

使用apt-get安

sudo apt-get update
sudo apt-get install git

使用下载安装

  1. 安装依赖库:
sudo apt-get update
sudo apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
  1. 下载:
wget https://github.com/git/git/archive/v1.9.2.zip -O git.zip
unzip git.zip
cd git-*
  1. 安装:
make prefix=/usr/local all
sudo make prefix=/usr/local install
  1. 更新:
make prefix=/usr/local all
sudo make prefix=/usr/local install

2.配置你的github:

  1. 配置github的个人信息
git config --global user.name "Your Name" #名字随意
git config --global user.email "youremail@gmail.com"
  1. 查看配置信息和编辑:
#查看:
git config --list
#编辑配置信息:
sudo vim ~/.gitconfig
##可以修改的地方
[user]
name = Your Name
email = youremail@domain.com

3.创建公钥:

ssh-keygen -C 'you email address@gmail.com' -t rsa   #会在 用户目录 ~/.ssh/ 下建立相应的密钥文件
#上传公钥
在 github.com 的界面中 选择右上角的 Account Settings,然后选择 SSH Public Keys ,选择新加。
Title 可以随便命名,Key 的内容拷贝自 ~/.ssh/id_rsa.pub 中的内容,完成后,可以再使用 #测试:
ssh -v git@github.com
会返回提示信息:
Hi wpeace1212! You've successfully authenticated, but GitHub does not provide shell access.

4. 使用git

  1. 在想要上传的工程目录下建立README文件
  2. 初始化该目录:git init
  3. 新增文件到gi
#全部增加:
git add .
#指定增加:
git add filename #filename文件名
  1. 提交文件(本地)
#提交所有
git commit -m "Initial Commit" -a #m表示message , -a 表示所有
#提交特定文件
git commit -m "Initial Commit" file #file表示特定文件
  1. 提交到github:
#建立远程分支:第一次需要做
git remote add origin https://github.com/wpeace1212/BlogSource.git
#https://github.com/wpeace1212/BlogSource.git 为你的工程url
#查看远程分支:
git remote -v
#提交你的代码:第二次提交时只要执行这条语句:
git push origin master

5.解决冲突和创建分支:

#查看所有分支:
git branch -a
#新建新的分支 other
git branch other
#切换到other
git checkout -b other
#在分支上提交工作:
git commit -m "other file" other
#合并分支
git merge

6.常见问题解决:

  1. remote origin already exists.
git remote add origin https://github.com/wpeace1212/BlogSource.git
错误提示:fatal: remote origin already exists.
#解决办法:
git remote rm origin
再重新执行
  1. ! [rejected] master -> master (non-fast-forward)
git push origin master
错误提示:failed to push som refs to.......
解决办法1:
git pull origin master
git push origin master
解决办法2:强制解决;
git pull
git push --force origin master

来自一条小鲨鱼(rlovep.com)

7.觉得很有用的一张图

git简易入门(github)的更多相关文章

  1. mac os x使用Git简易入门教程

    具体如下: 1, 首先要了解什么是Git. 简而言之,Git是一个分布式的代码版本管理工具.类似的常用工具还有SVN,CVS. 概念了解参见:http://baike.baidu.com/subvie ...

  2. 10分钟入门git简易教程

    在注册了github账号之后,一度不知道该如何使用. 在仔细研究了github的官方说明文档.廖老师的教程.还有许多博主的文章之后,总算对github的操作和体系有了较为深刻的了解,还有这篇简单的入门 ...

  3. GitHub与Git指令入门

    GitHub入门 创建账户 之前做代码版本控制都是在bitbucket上面的私有仓库.现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历. 首先 ...

  4. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

  5. 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 ...

  6. 学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第三篇) 入门详解 - 精简归纳 ...

  7. 【原创】30分钟入门 github

    很久没更新了,这篇文章重点在github的入门使用,读者可以下载github for windows shell,边看边操作,加深印象. 好了,30分钟的愉快之旅开始吧: 一.github使用的注意事 ...

  8. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  9. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

随机推荐

  1. canvas动画--demo

    canvas动画:bubble

  2. Python_05-文件操作

    目录: 1             文件操作 1.1          快速入门 1.1.1       用Python创建一个新文件 1.1.2       文件内容追加,从0到9的10个随机整数 ...

  3. Python_01-入门基础

    以后我会发表一系列python脚本的学习资料,python版本为2.x. 目录: 1 Python入门基础 1.1 学习资源 1.2 所有语言的入门程序---Hello World!  1.3 帮助函 ...

  4. TouchEvent里的targetTouches、touches、changedTouches的区别的具体体现是?

    touches:当前屏幕上所有触摸点的集合列表 targetTouches: 绑定事件的那个结点上的触摸点的集合列表 changedTouches: 触发事件时改变的触摸点的集合 举例来说,比如div ...

  5. 62. Unique Paths (Graph; DP)

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  6. mybatis调用存储过程获得取返回值

    总体思路:map传值 controller: Map<String,Object> m=new HashMap<String,Object>(); m.put("na ...

  7. 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetLzdtArticleResult。InnerException 消息是“反序列化对象 属于类型 lzdt.DTO.Dtolzdt[] 时出现错误。读取 XML 数据时,超出最大

    当遇到这个错误的时候郁闷了好长时间报错是字符串长度过大可是修改了MaxStringContentLength”属性的值却不起作用最后才发现还是因为配置文件配置的问题在服务端 格式化程序尝试对消息反序列 ...

  8. Python服务器开发 -- 网络基础-乾颐堂

    网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层. HTTP是高层协议,而TCP/IP是个协议集,包过许多的子协议.包括:传输层的 FTP,UDP,TCP协议等,网络层的ip ...

  9. [Training Video - 4] [Selenium IDE]

    Selenium IDE Training List

  10. C# Redis Server分布式缓存编程(二)(转)

    出处;http://www.cnblogs.com/davidgu/p/3263485.html 在Redis编程中, 实体和集合类型则更加有趣和实用 namespace Zeus.Cache.Red ...