Git与Github的使用学习
摘要
本文讲解下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
2、下载:
wget https://github.com/git/git/archive/v1.9.2.zip
-O git.zip
unzip git.zip
cd git-*
3、 安装:
make prefix=/usr/local all
sudo make prefix=/usr/local install
4、 更新:
make prefix=/usr/local all
sudo make prefix=/usr/local install
2.使用Git
1. 创建版本库repository
在想要上传的工程目录下,初始化该目录:
git init
2. 将文件提交到仓库,分两步
$git add filename
$git commit -m "your log"
1、git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
2、全部增加 git add .
为什么分两步呢?
请看下图,工作区就是你刚刚git init的文件夹, 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。

所以上述提交文件的两步:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
3. 分支管理
Git鼓励大量使用分支,实际上我们在开发一个项目时,如果只用一条分支存放我们所有的开发过程版本与上线版本,显然是管理混乱的,所以正常情况下,master上应该只存放发布上线的版本,而我们的开发过程中的中间版本则是存放在另外一条分支上,当需要发布上线时,再讲其合并到master上。下面是分支管理常用的命令
//查看分支:
git branch
//创建分支:
git branch <name>
//切换分支:
git checkout <name>
//创建+切换分支:
git checkout -b <name>
//合并某分支到当前分支:
git merge <name>
//删除分支:
git branch -d <name>
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
实际工作时,我们往往是在自己电脑上编写程序,然后上传到远程分支上,所以工作流程如下:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
git fetch和git pull的区别
- git fetch:相当于是从远程获取最新版本到本地,不会自动merge
- git pull:相当于是从远程获取最新版本并merge到本地
3.使用Github
作为全球最大的同性交友网站的Github,实际是为大家提供了一个开源库管理的平台,其实就等于提供平台存放上节所述的远程分支,只不过这个分支不仅项目组的人可以看到,全世界的人都可以看到。所以也很方便用于大家共同开发项目。那么怎么使用Github呢?首先,当然是先去Github网站注册。接下来本地操作如下
1. 配置Github的个人信息
git config --global user.name "Your Name" #名字随意
git config --global user.email "youremail@gmail.com"
2. 查看配置信息和编辑:
//查看:
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 rong0o! You've successfully authenticated, but GitHub does not provide shell access.
4.提交到Github:
使用下面步骤前,应先按第二节所述建好本地库,并将文件提交到本地库 。同时在github上新建个仓库,比如:test.git
//建立远程分支:第一次需要做
git remote add origin https://github.com/rong0o/test.git
#https://github.com/wpeace1212/BlogSource.git 为你的工程url
//查看远程分支:
git remote -v
//提交你的代码:第二次提交时只要执行这条语句:
git push origin master
4.利用Github展示demo
作为一名前端攻城狮,我们学习的过程中需要写一些demo练练手,那么,当我们对我们的demo比较满意,想展示给别人看,确苦于不知如何搭建服务器的时候,怎么办呢?别急,我们有Github!接下来讲解如何用Github展示我们的demo。
1.在Github上传好代码,具体操作参考上一节
2.在Github新建gh-pages分支,便捷操作如下图,输入gh-pages然后回车即可

3.找到setting,在里面找到Github Pages选项,选中gh-pages branch,然后save


4.快去看看你的作品吧
通过 http://github名.github.io/仓库名/,就可以访问你的demo了,但是,注意了:这样访问的话,你的demo根目录下必须有index.html作为入口文件,如果你只想展示某个单独的页面的话,那就在URL后面指定文件名,如下[http://github名.github.io/仓库名/文件名]
5.觉得很有用的一张图

更多前端技术文章,欢迎访问我的博客:嵘么么的个人博客
Git与Github的使用学习的更多相关文章
- Git、Github、Gitkraken 学习笔记
<Git.Github.Gitkraken 学习笔记> 一.写在前面 1.参考资料 本文参考 <Pro Git> 一书. 在官网有免费在线版可供阅读:https://git-s ...
- git与github建立链接(学习笔记)
总结步骤: 1.将所有文件添加到本库 git add . 2. git commit -m "提示信息随便写" 3.查看git修改状态 git status 4.获取远程库与本地同 ...
- Git 一些关于 Git、Github 的学习资源
一些关于 Git.Github 的学习资源 昨天浏览 Github 的是时候发现了 Githug 这个游戏,这个游戏用来帮助菜鸟们学习使用 Git 的. Githug is designed to g ...
- git与github学习
一 我的Github 我的Github项目地址:https://github.com/lllmathison/hello 二 对github与git的学习.感受 git是一个版本管理工具,在本地使用的 ...
- 使用git和github管理自己的项目---基础操作学习[转]
原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...
- git 和 github的学习
第一部分:我的github地址 https://github.com/Ly1235/gitLeaming 第二部分:git 和 github Git是一款免费.开源的分布式版本控制系统.gitHub是 ...
- Git和GitHub在线学习资源整理
电子书 GotGitHub Git Workflow 沉浸式学习Git 文章 GitHub Fundamental visual-git-guide 图形化的Git参考手册 Linux下使用git命令 ...
- Git-it:一个学习Git和Github的教程(软件)
Git-it https://github.com/jlord/git-it 2016-08-01 在FreeCodeCamp的引导下了解到的Git-it.OSC有收录. Git-it是一个指导使用G ...
- xcode6 cocos2dx开玩笑git和github学习记录
1. git Xcode4开始,它一直Git作为一个内置的源代码控制(Source Control)工具,所以对于新项目的用途git要管理非常方便.在新建项目向导.可以直接选择Git作为源控制工具.项 ...
随机推荐
- cin的返回值
例: int main() { int a,b; while(cin >> a >> b) cout << a+b << endl; } 首先,cin是 ...
- tornado学习 - TCPServer 实现聊天功能
最近学习tornado框架,其中有很多值得学习的模块,鉴于某位学长的建议,也决定好好看看tornado.tcpserver. 关于TCP协议详细介绍可查阅wiki. 对于TCP服务器,基本的操作tor ...
- PHP学习1 — PHP文件处理
PHP 中 include 与 require Php include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中. 这意味着您 ...
- 读书笔记 effective c++ Item 23 宁可使用非成员非友元函数函数也不使用成员函数
1. 非成员非友元好还是成员函数好? 想象一个表示web浏览器的类.这样一个类提供了清除下载缓存,清除URL访问历史,从系统中移除所有cookies等接口: class WebBrowser { pu ...
- 安装MongoDB x86_64
1.下载MongoDB 下载mongodb的windows版本,有32位和64位版本,根据系统情况下载,下载地址:http://www.mongodb.org/downloads 2.安装MongoD ...
- SQLHELPER 帮助类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Java面试12|Linux及Shell脚本
1. 随便写一个awk的命令.用awk统计文本行数 (1)最近登录的5个帐号 last -n 5 | awk -F ':'(指定域分割符号) '{print $1}' 读入有'\n'换行符分割的一条记 ...
- swift -- 代理delegate
1.声明协议 protocol SecondDelagate { func sendValue(text : String!) -> Void } 2.声明代理属性 var delegate : ...
- java笔记---equals和==的区别
摔在这里几次,还是记下来吧.原文:http://www.cnblogs.com/shenliang123/archive/2012/04/16/2452156.html --------------- ...
- Oracle数据库笔记
SQL分为四大类别 1.DDL:Date Definition Language 数据定义语言 用于建立.修改.删除数据库对象(create创建表和其它对象结构:alter修改表或其它结构:drop ...