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作为源控制工具.项 ...
随机推荐
- java_获取多个文件夹下所有.java源码的总行数
import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOExcepti ...
- Unity播放Gif动画
Unity目前对图形图像的支持还不是很完善,支持的图形文件格式有 PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT等,但却不支持Gif动画.但是经过查阅资料发 ...
- 移动端click事件延迟300ms到底是怎么回事,该如何解决?
不管在移动端还是PC端,我们都需要处理用户点击,这个最常用的事件.但在touch端click事件响应速度会比较慢,在较老的手机设备上会更为明显(300ms的延迟). 问题由来 这要追溯至 2007 年 ...
- 关于TCP/IP协议栈
1. TCP/IP协议栈 与OSI参考模型不同,TCP/IP协议栈共有4层,其中网络接口层对应OSI中的物理层和数据链路层,应用层对应OSI中的应用层.表示层和会话层. 在网络接口层的主要协议有:AR ...
- 基于Asp.Net Core Mvc和EntityFramework Core 的实战入门教程系列-4
来个目录吧: 第一章-入门 第二章- Entity Framework Core Nuget包管理 第三章-创建.修改.删除.查询 第四章-排序.过滤.分页.分组 第五章-迁移,EF Core 的co ...
- JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)
前言:转眼距离上篇 JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查) 已有好几个月了,今天打算将它捡起来,发现好久不用,Vue相关技术点都生疏不少.经过这几个月的时间,Vue ...
- 476. Number Complement
题目 Given a positive integer, output its complement number. The complement strategy is to flip the bi ...
- java-信息安全(七)-基于非对称加密,对称加密等理解HTTPS
概述 java-信息安全(一)-BASE64,MD5,SHA,HMAC java-信息安全(二)-对称加密算法DES,3DES,AES,Blowfish,RC2,RC4 java-信息安全(四)-数据 ...
- 机器学习基石 3 Types of Learning
机器学习基石 3 Types of Learning Learning with Different Output Space Learning with Different Data Label L ...
- 10分钟精通SharePoint - SharePoint发展历程
SharePoint 2001: SharePoint Team Service(STS) SharePoint Portal Server(SPS) SharePoint 2003: Windows ...