github(入门)

创建本地仓库前要配置一些基本信息,配置的用户名和邮箱地址是本地git客户端的一个变量。

#配置用户名
git config --global user.name 'YourName'#邮箱
git config --global user.email "email"#查看配置信息
git config --list#关于配置文件
Config file location--global              use global config file (这是全局配置文件,一般用这个就行了)--system              use system config file--local               use repository config file-f, --file <file>     use given config file--blob <blob-id>      read config from given blob object

还要一点要注意一下的在git命令行中是可以运行一些基本的Linux命令的。如:cd,pwd ,mkdir等等

1.初始化本地仓库

初始化后,在项目目录(工作目录)下会发现一个.git的文件,.git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹。

#初始化(生成一个以projectname为名的文件夹,里面有.git文件)
git init projectname
#当前文件夹下生成.git文件
git init
.git文件简介

.git文件夹中有大量本地仓库的信息。

hooks:存放一些shell脚本
Info:存放仓库的一些信息
logs:一些更新日志
refs:存储分支信息

2. git基本操作命令

2.1. git仓库结构

git本地仓库是有暂存区和本地仓库的,也就是说,你在工作目录下的修改是无法直接提交到远程仓库的,必须先提交到暂存区,然后再提交到本地仓库。再push到远程仓库。

本地git工作区域的三大结构:

工作区(.git文件夹所在目录) --->  暂存区(.git/index) --->  本地仓库(git仓库)

push本地仓库到远程仓库

本地仓库(本地git仓库) ---push--->   远程仓库(github仓库)
2.2.基础命令

如果认识这些基础命令的可以直接跳到下面的实战流程。

#查看仓库状态
git status#提交项目到本地仓库(-m 后面加这次提交的描述)
git commit -m 'describe'#查看commit的命令参数
git commit --help#提交文件到暂存区
git add filename#删除暂存区的文件(rm命令像linux中一样使用即可)
git rm filename
git rm -rf file  #递归删除(跟Linux命令一样)#克隆仓库(神技)
git clone github地址#添加远程仓库
git remote add origin 你远程仓库的SSH链接或者https链接#删除远程仓库
git remote rm origin#push本地仓库到远程仓库(master:主分支)
git push origin master#pull远程仓库到工作区
git pull origin master#查看本地分支的命令
git branch   (需要本地仓库有文件,且已经git commit了,才会显示正常)#创建本地分支
git checkout –b v1#切换分支
git checkout master
git checkout v1#删除本地分支
git branch –D v1# 查看远程分支的命令
git ls-remote# 将本地的所有分支推送到远程
git push# 将本地的指定分支推送到远程
git push origin master (需要本地仓库切换到master分支后进行操作)
git push origin v1 (需要本地仓库切换到v1分支后进行操作)# 从远程拉取分支的信息
git pull origin master
git pull origin v1 # 从远程拉取分支到本地的指定的分支
git checkout –b master origin/master
git checkout –b v1 origin/v1# 删除远程分支
git push origin --delete v1#分支合并(要切换到另一个分支先)
git merge v1

3. git操作完整流程

学习完基础命令就可以学习git操作的完全流程。

3.1 实战一:(创建项目并同步到远程仓库)

首先在GitHub上创建一个公共仓库,这个我就不多说了。

本地设置基本的配置信息

$git config --global user.name 'YourName'
$git config --global user.email "email"

拉取项目(同步到本地)

$git clone github地址

然后你会在当前目录下发现一个文件夹,这个文件夹就是从远程仓库拉下来的,里面有.git文件夹。

查看本地状态

$ cd +文件夹
$ touch mytest.txt
$ git status

会看到一个红色的文件夹,是因为暂存区没有这个文件。

添加文件到暂存区

这里我就直接全部添加了,也可以指定特定的文件进行添加,添加完在看看状态,可以看到一行绿色的新文件

$ git add *
$ git status

提交到本地仓库

ok,你确保要添加的信息都添加好了后,那就提交到本地仓库吧。注意这是本地仓库哦。

$git commit -m '我的第一次提交'

push到远程仓库

现在可以提交代码到github上了。这里的master是主分支。提交后可能会要你1,2次密码。提交后你就可以看到你自己提交的文件了。现在就可以进行代码提交啦。

$ git push origin master

3.2 实战二:(使用ssh免密登陆)

前面的教程使用的是https的地址,所有会要你用密码登陆。现在使用SSH免密登陆。

生成ssh密钥

默认生成在用户目录下的.ssh文件夹中

$ ssh-keygen -t rsa

用记事本把id_rsa.pub打开,把文本添加到GitHub公钥列表中,GitHub公钥列表在用户头像那里–>setting–>SSH and GPG keys中,网站请自行摸索。把文本添加到GitHub公钥列表中。

拉取项目(同步到本地)

这次是用ssh地址。点击Use SSH,然后复制地址,然后输入代码,添加到clone命令后面。

$ git clone  git@github.com:'项目url'

免密登陆

后面的提交过程跟实战一一样,我就不重复了,当你提交项目到GitHub上是,是否信任公钥,输入yes即可。后面提交项目,或者同步项目都不用在输入密码。

https免密配置方法

再输一次密码就可以了,会保存密码的。

git config --global credential.helper store

https变SSH登陆方式

先删除远程仓库地址,然后再重新添加

#删除远程仓库
git remote rm origin#添加远程仓库
git remote add origin 你远程仓库的SSH链接

3.3 实战三:(把现有的项目放上GitHub)

有时有些项目已经写好了,想放上GitHub,就用下面的方法。

生成.git文件

在项目文件夹下生成

git init

添加远程仓库

#添加远程仓库
git remote add origin 你远程仓库的SSH链接或者https链接

push到远程仓库

git push origin master#如果保存试试下面两个命令后再push一次
git pull origin master
git pull --rebase origin master

4.管理分支

有上面的基础基本可以。

进行分支的简单管理

有基础就不一步一步来了,直接给个流程。

1 假设目录处理于master分支,因为新需求需要修改代码,而又不想影响master分支的开发,我就可以通过新建分支,在独立的新分支中进行开发,最后开发完成后,再进行分支的合并,将在独立分支中开发的模块或功能合并到主分支中。2 git checkout -b dev(新分支会继承master的代码)3 修改代码开发新功能(因为是独立的分支,所以不影响主分支和其他分支的开发)4 git add .5 git commit -m '代码已经修改完成'6 git checkout master7 git merge dev(进行分支合并,合并后master将会获得在dev开发的功能)8 git branch -D dev (删除分支,合并代码后记得把分支删除)

5.创建自己的仓库主页

过程很简单在,在自己的项目仓库里面。找到setting。

然后再找到GitHub Pages然后设置就可以了。

然后把网页代码写到READMEADME.md里面,或者新建一个index.html文件里面。然后通过https://账号名.io/仓库名/ (这个也可以在刚刚设置那里看到)

github(入门),不入门找卢姥爷相关推荐

  1. GLOG从入门到入门

    GLOG从入门到入门 1 C++日志需求 任何可用的工程代码,都无法保证不出bug.因此,日志系统对于工程代码非常重要.对于像耳东小白这样的初级程序员(感谢某高级程序员大佬赐予"初级程序员& ...

  2. Android自动化测试-从入门到入门(5)AdapterView的测试

    在之前的文章中,我们简单介绍了Espresso的使用.通过onView()方法我们可以快速定位到界面上我们需要测试的目标元素.整体来说,onView()比较适用于UI比较简单的情况,在不需要过于复杂的 ...

  3. Android视频录制从不入门到入门系列教程(一)————简介

    一.WHY Android SDK提供了MediaRecorder帮助开发者进行视频的录制,不过这个类很鸡肋,实际项目中应该很少用到它,最大的原因我觉得莫过于其输出的视频分辨率太有限了,满足不了项目的 ...

  4. 【新手上路】语法入门算法入门题单

    作者:王清楚 链接:[新手上路]语法入门&算法入门题单_ACM竞赛_ACM/CSP/ICPC/CCPC/比赛经验/题解/资讯_牛客竞赛OJ_牛客网 来源:牛客网 介绍:本题单分为语法入门和算法 ...

  5. BIOS从快速入门到入门1------浅谈BIOS

    眨眼间,从一个刚毕业的萌新小白,到现在的BIOS工程师,做了快2年半的x86服务器BIOS,勉强可以算是入门了.踩了很多坑,加了N多班,其中的辛酸和快乐,可能只有自己知道. 先不谈BIOS,我就个人经 ...

  6. 数论基础,从入门到入门

    数论基础,从入门到入门 文章目录 数论基础,从入门到入门 一.常用算法 1.素数筛法 2.线性筛 3.快速幂 4.矩阵快速幂 5.辗转相除法/欧几里得算法 6.扩展欧几里得 7.中国剩余定理/CRT ...

  7. jenkins安装github插件后还是找不到 Build when a change is pushed to GitHub

    安装好 GitHub plugin)后 还是找不到(Build when a change is pushed to GitHub)功能 最后才发现版本更新后,GitHub hook trigger ...

  8. ActiveMQ入门-amq入门

    ActiveMQ是什么 ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线. ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,尽管JMS ...

  9. java8入门 错误:找不到或者无法加载主类

    如果你也遇上的这个问题,但是如果你的Java版本不是6以上,这个解决方案可能就不适合你... 最近在跟着李兴华老湿的视频<<编程开发入门Java 8>>的学习Java... 但 ...

最新文章

  1. 何恺明团队推出Mask^X R-CNN,将实例分割扩展到3000类
  2. 给接口自动化测试框架增色,实现企业微信测试报告
  3. careercup-高等难度 18.9
  4. ubuntu 14.04 安装oracle 11g,ubuntu 14.04 安装 oracle 11g
  5. Android应用权限管理总结
  6. 解决burpsuite无法对DVWA环境(本地环境)进行抓包
  7. Flutter Web:Shadow Root问题
  8. linux php 依赖,在php5-fpm-alpine docker容器中安装php-gd依赖于alpine linux
  9. php大数除法保留精度问题
  10. NeatUpload 同时选择并上传多个文件
  11. 谁说中国没有 Linus?中国初代 IT 宗师封神榜
  12. 蝴蝶效应,青蛙现象,鳄鱼法则,鲇鱼效应,羊群效...
  13. java spring登录验证_详解使用Spring Security进行自动登录验证
  14. 合宙-icool 开发板使用手册
  15. 控制图简明原理及Plotly实现控制图Python实践
  16. 吊炸天之Android 如何实现无网络传输文件
  17. 乐鑫ESP32模组如何查看内部flash芯片支持的工作模式(QIO、QOUT、DIO、DOUT)?
  18. 通过简单神经网络识别猫图片
  19. 【Unity3D进阶4-14】Unity3D 连接MySQL数据库
  20. setfocus属性

热门文章

  1. 第二部分:浅析 Linux 初始化 init 系统:upstart
  2. asp.net报错“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”的解决办法...
  3. 在WebApi中实现Cors访问
  4. Android调用WebService
  5. restTemplate的介绍和使用
  6. python算法与数据结构-二叉树的遍历
  7. django写原生sql语句
  8. 高并发资金交易系统设计方案—百亿双十一、微信红包背后的技术架构
  9. xhprof 安装使用(windows linux混版)
  10. xhprof windows下安装和使用(windows版本)