## 总结

- 学会使用基本的git命令 管理源代码
- 学会去github创建仓库 并将代码上传到github的仓库 (有待完成 回家有网再push)
- 了解本地的.git和服务器github的.git的关系 是两个仓库 一个是本地 一个是服务器 需要使用一句命令来关联 git remote add origin 远端的.git的地址
- 了解github的概念以及github和git的关系
- 学会把本地代码提交到github仓库
- 了解ssh无密码提交方式

## git

1. git是什么:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作系统)
2. 常见的源代码管理工具
1. git : 分布式版本控制系统
2. svn : 集中式的版本控制系统

3. 什么是版本控制系统
1. 版本控制系统: 用来控制源代码的版本 (类似QQ 微信 版本升级) 软件升级后 代码也会变化 代码也需要有一个版本来规范 (当涉及到版本更新 或者回退 要使用对应版本的代码)
4. 版本控制系统的分类
1. 分布式的版本控制系统 : 代码的版本分别在每个开发人员电脑上管理 管理好了之后代码的共享放到git的服务器里面 实现代码共享(相互之间可以提交和获取代码)
2. 集中式的版本控制系统 : 把代码的版本集中到一台服务器上管理 svn
详情:
https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6

## git的工作原理

1. 传统代码管理的原理 是通过文件 + 日志文件 来管理代码的版本
2. 使用git之类的工具管理: 代码统一放到一个文件夹里面 (会在当前要管理的代码文件夹里面创建一个.git文件夹(git本地仓库)) 代码的版本管理是在本地git仓库里面进行管理

## git的基本使用

1. 了解git一些常见命令
1. git add
2. git commit
3. git log
4. git status
5. git reset
6. git init

2. 安装git环境(安装了环境之后才可以使用git命令来管理源代码)
1. 找到安装包 day01 > 1-教学资料 》 Git-2.13.0-64-bit.exe
2. 双击打开安装包一路下一步
3. 测试是否安装成功 在桌面任意空白处右键出现git bash here 表示成功

3. 配置当前git用户和邮箱
1. git是在本地进行源代码版本管理 (就需要一个本地管理代码的账户(用户))
2. 配置当前git用户 (如果不配置用户和邮箱是无法使用git来管理)
3. 配置命令 打开git bash黑窗 分别执行
git config --global user.name zhengwei
git config --global user.email 15454544511@qq.com
4. 验证用户是否配置成功
打开C盘 》 用户 》 当前你登录的用户 》 .gitconfig文件 (可以打开当前文件修改用户和邮箱)

## git的基本使用 (命令都是在git bash黑窗执行)

1. 创建一个本地的文件夹(项目的文件夹里面包含了项目的源代码) letao项目文件夹
2. 在当前文件夹下去初始化一个git的仓库(可以被git管理)
进入letao项目 》 右键打开git bash here
输入 git init 回车
完成后 在当前letao项目里面会有一个.git文件夹 记录当前本地仓库(如果看不到需要勾上显示隐藏文件)
https://jingyan.baidu.com/article/af9f5a2dc1f91243150a4553.html
https://jingyan.baidu.com/article/ab69b27091fb1c2ca7189fed.html

3. 把当前项目需要被管理的源代码文件和文件夹 添加到本地仓库
输入 git add 文件名.后缀名 回车
输入完成后没有出现报错就是成功
如果文件很多 都需要添加
输入 git add . 回车 .和add之间有空格
4. 验证当前添加是否成功
输入 git status 回车

1. 绿色状态 new file 当前新的文件被添加
2. 红色状态 警告 有文件没有被添加到git仓库管理
5. 把当前暂存区添加的文件 提交到本地仓库(提交后就表示创建了一个代码的版本)
输入 git commit -m '提交日志'
提交完成后就会把代码提交到.git文件夹(git仓库) 并且会自动创建一个代码的版本
[master (root-commit) d6f5a75] d6f5a75当前提交的版本号

6. 查看当前本地仓库的提交日志
输入 git log
查看当前提交了几次 分别什么时候提交 提交的版本号等信息
commit d6f5a75b8d27d71412a523a5de55c6c62c400f6c (HEAD -> master) 完整版本号
Author: zhengwei <15454544511@qq.com> 作者(配置的用户)
Date: Wed Jun 6 11:31:33 2018 +0800 提交时间

2018-06-06-11-31第一次提交到本地仓库 提交的日志

7. 后续如果添加文件 (add commit 是一起的 只有代码有更改都要再次执行)
1. 再把新增的文件 添加到暂存区 git add .
2. 把暂存区的文件 提交到本地仓库 git commit -m '再次输入提交日志'
3. 执行完后后 git log查看日 会显示所有提交的日志 会按照从新到旧显示

8. 后续如果修改了已经被管理的文件
1. git status 可以查看当前版本的状态
modified: 表示当前的文本代码被更改了
红色表示更改了但是未添加
绿色表示当前文件更改已经添加 但是未提交
2. 如果红色没有添加 git add .
3. 如果绿色没有提及 git commit -m '提交日志'

9. 如果需要知道修改了什么代码
输入 git diff查看当前代码 和 修改之前的版本库代码的对比
可以看到当前修改了那个文件 修改了哪一行代码 -表示之前的代码 + 表示修改后的代码
如果修改后又撤回了 无法看到变化

10. 如果需要回到上一个版本的代码
输入 git reset --hard HEAD^

注意回退是不可逆的 新写的代码就没了
如果你写了很多代码但是出了问题短时间找不到需要回退
1. 把新写的代码备份一下
2. 再执行回退代码来回退版本

还可以使用指定的版本回退

git reset --hard 版本号

git reflog 查看版本号

例如 git reset --hard a4a3ae9

11. .git文件存储了所有的代码的版本管理 这个文件夹是不能删除

12. 总结
1. git init 初始化本地仓库
2. git add . 添加要管理的代码
3. git commit -m '提交日志' 把代码提交到版本库
4. git status 查看状态
5. git log 查看提交日志
6. git diff 查看代码修改
7. git reset --hard 版本回退
8. git reflog 查看所有版本号

## 上午复习

1. 什么git: 是一个分布式的版本控制系统(源代码管理工具)
2. 版本控制系统的分类: 集中式(集中到服务器管理版本) 和 分布式 (在各自电脑管理 服务器只用来共享代码)
3. git的基本使用
1. 安装git软件
2. 配置用户名 不然是不能够提交到本地仓库

4. git基本命令
1. 创建一个项目 在当前项目目录下打开git bash黑窗
2. git init 初始化本地仓库(当前的代码才能被git管理)
3. git add . 把当前所有源代码添加到暂存区
4. git commit -m '提交日志' 把暂存区的文件去提交到git仓库
5. git status 查看暂存区的状态
6. git log 查看提交的日志
7. git reset --hard HEAD^ git reset --hard 版本号 可以回退到上一个版本 或者指定版本
如果当前最新的代码没有提交马上回退 当前最新代码就没有了
如果当前最新代码提交了但是再次回退 当前最新的代码还能找到
8. git diff 查看代码修改请求
9. git reflog 查看提交的的版本

## git 工作流程

## github的概念

1. github: 是一个git的服务器提供商 帮我们共享代码(托管代码) 也是一个开源平台
2. git : 只是一个源代码管理工具(管理代码的版本) 不能实现代码的共享
使用git 来操作github实现代码的共享

## github的使用

1. 注册一个github账号
2. 打开https://github.com/join?source=header-home 注册页面
3. 输入用户名 邮箱 密码
4. 选择免费账户
5. 输入一些描述提交
6. 点击 start a project
7. 进入你的邮箱验证验证邮箱

## 使用github实现代码的分享

1. 使用github去创建一个服务器仓库
1. 点击头像 》 your profile
2. 点击respositories
3. 点击右上角的new
4. 输入仓库名称(仓库名不能有中文)
5. 点击create repository

2. 把本地的代码提交到github的仓库里面
1. 打开当前项目的git bash 黑窗 执行关联服务器仓库的代码(每个人仓库不一样 要使用自己的命令)
git remote add origin https://github.com/zwxs/letao5.git
2. 把本地仓库代码提交到服务器仓库里
git push -u origin master
3. 验证代码是否提交成功 : 刷新github的仓库页面 如果远程仓库有代码就表示成功

## git+github的完整使用步骤

1. 创建一个项目文件夹 letao项目2
2. 当前项目创建一个本地仓库 git init
3. 把当前项目源代码添加到暂存区 git add .
4. 把暂存区的代码提交到本地仓库 git commit -m '提交日志'
5. 去github创建一个服务器仓库 点击头像 》 your profile 》 点击respositories 》点击new 新建仓库 》 输入仓库名点击确定
6. 指定当前本地仓库要关联的服务器仓库
git remote add origin https://github.com/zwxs/letao6.git
指定远程服务器仓库的地址
7. 把当前本地仓库的代码提交到服务器仓库里面
git push -u origin master
把本地仓库的源代码 推送到远程的master
8. 提交完成后在github服务器上就能看到你提交的代码
9. 如果后面再次添加代码
重复 3 4 7 步骤
git add .
git commit -m '添加index.js'
git push -u origin master

## 使用SSH实现无密码提交方式

1. 原理在你当前电脑生成一个唯一的密钥 把密钥绑定到github账号 你在你当前密钥电脑上做代码提交操作都可以不需要输入密码 如果换了电脑要重新生成和绑定
2. 使用生成密钥命令生成一个密钥
打开git bash 黑窗 输入 ssh-keygen -t rsa 一路回车 出现2048就表示成功
3. 找到生成的密钥
C盘 》 用户 》 zhengwei(你当前登录的用户) 》 .ssh文件夹 》 打开id_rsa.pub
复制pub文件里面乱码
4. 打开github用户设置 点击 左侧SSH and GPG keys
5. 点击右上角的new SSH key
输入title 标题随便输入
输入key pub里面复制的乱码
点击add key
6. 把git和github使用步骤重复一次
创建一个项目
git init
git add .
git commit -m '提交日志'
指定远端地址注意远端地址要指定ssh地址
git remote add origin git@github.com:zwxs/letao9.git
git push -u origin master

## 总结

1. 什么是版本控制: 管理代码的版本(能够更好的记录代码的变更)
2. 有哪些常见的版本控制系统: git svn 都是常见的版本控制系统
3. 版本控制系统的分类:
1. 集中式的版本控制系统(所有代码的版本都集中到服务器上管理)
2. 分布式的版本控制系统(每个人在各自电脑上管理版本 使用服务器来实现代码共享(代码获取和提交))
4. git的基本概念和使用

1. 安装git环境 打开安装包一路下一步安装
2. 配置当前git的用户名和邮箱
git config --global user.name zhengwei
git config --global user.email 15454544511@qq.com(你的邮箱账号)

5. git的常见命令和作用

1. git init 初始化本地仓库
2. git add . 把本地源代码添加到git的暂存区来管理
3. git commit -m '提交日志' 把暂存区的代码提交到本地仓库
4. git remote 指定远程仓库的地址 git remote origin git@github.com:zwxs/letao9.git
5. git push 把本地的代码提交到远程的仓库
6. git status 查看暂存区的状态
7. git log 查看提交日志
8. git reset --hard HEAD^ 版本回退 git reset --hard 版本号 指定版本号回退
9. git reflog 查看版本号

6. 使用git的命令来管理项目源代码

1. 在本地创建一个需要被管理的项目
2. 进入项目目录打开git bash 黑窗
3. 执行git init 初始化本地仓库
4. 执行 git add . 把要管理的代码添加到暂存区
5. 执行 git commit -m '提交日志' 把暂存区的代码提交到本地仓库
6. 后续如果新增或者修改了的代码
7. 执行 git add . 把新增的代码添加到暂存区
8. 执行 git commit -m '提交日志' 把暂存区新增的代码提交到本地仓库

7. 把本地仓库的代码分享到github上

1. 创建一个github账号 注册一个账号 注意要验证邮箱
2. 在github账号上去创建一个服务器仓库
1. 点击头像 》 your profile
2. 点击respositories
3. 点击右上角的new
4. 输入仓库名称(仓库名不能有中文)
5. 点击create repository
3. 回到git黑窗 执行 git remote origin git@github.com:zwxs/letao9.git指定远程仓库的地址
4. 执行git push -u origin master 把本地仓库的代码提交到远程服务器

8. 无密码提交方式
1. 打开git bash 黑窗 输入 ssh-keygen -t rsa 一路回车 出现2048就表示成功
2. 找到生成的秘钥
C盘 》 用户 》 administrator(你当前登录的用户) 》 .ssh文件夹 》 打开id_rsa.pub
复制pub文件里面乱码
3. 把pub代码复制 到github设置 SSH里面添加一个SSH 把代码粘贴
4. 重复做创建仓库 提交代码就不需要密码

转载于:https://www.cnblogs.com/PinkYun/p/9146900.html

git 的安装以及使用:是一个开源的分布式版本控制系统,可以对项目进行版本管理。 早期是linux之父用来管理linux系统源代码的(linux是和windows一样操作系统 开源免费的操作...相关推荐

  1. git 开源的分布式版本控制系统

    Git 基础概念 Git 是一个开源的分布式版本控制系统,是目前世界上最先进.最流行的版本控制系统.可以快速高效地处理从很小到非常大的项目版本管理. **特点:**项目越大越复杂,协同开发者越多,越能 ...

  2. Git学习笔记——一个NB的分布式版本控制系统

    1. 命令: git init           创建新仓库 (在一个空文件下然后执行命令) git clone  + 路径      检出仓库,从本地或从服务器上 git status     查 ...

  3. 使用Git分布式版本控制系统

    GIT(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理 ...

  4. GIT (分布式版本控制系统)

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. [1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版 ...

  5. Git分布式版本控制系统简介和使用

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.[1] Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本 ...

  6. 【分布式版本控制系统】GIT 托管网站 客户端

    上传到远程库 第一次上传 git add . git commit -m"备注信息" 之后上传 git add . git commit -m"备注信息" gi ...

  7. 分布式版本控制系统 Git 教程

    简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布 ...

  8. Git 分布式版本控制系统

    目录 文章目录 目录 Git 分布式版本控制系统 Git 的基本概念 Git 的仓库结构 Git 的核心对象 Git 的数据结构 Git Flow 参考文档 Git 分布式版本控制系统 Git 是一个 ...

  9. 分布式版本控制系统Git与项目托管平台Github相关概念、操作方法、开发流程与常用命令

    tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و [本文源址:http://blog.csdn.net/q1056843325/article/details/54667602 ...

最新文章

  1. 练习5-3 数字金字塔 (15 分)
  2. Android使用smack连接openfire(本地+远程)
  3. mysql 语音_MySQL 在各种程序语音的连接字符串(转)
  4. HUB管理步骤、桥端设置步骤和客户端使用步骤
  5. 基于FFmpeg和Android的音视频同步播放实现
  6. C#实现HTTP协议:多线程文件传输
  7. function——函数声明头的提升和预解析
  8. 您有一个上云锦囊尚未领取!
  9. VS2017 启动调试报错无法启动程序 当前状态中非法
  10. CPNDet:Corner Proposal Network for Anchor-free, Two-stage Object Detection
  11. 安全看得见,阿里云性能监控 ARMS 全真3D拓扑实现一“屏”了然
  12. 普通html和vue单选框的样式,vue2实现自定义样式radio单选框
  13. 【Python爬虫】用CSS 选择器提取网页数据
  14. 将GPIO外设挂到Cortex_M3 AHB总线上详细流程扩展外设步骤总结
  15. Java界面编程—事件的种类
  16. 一个简单的WeakList的实现
  17. 理工科学生计算机要求,理工科学生
  18. SRS:软件需求规格说明书
  19. 惠普(HP) LaserJet Pro M1136 MFP 黑白多功能激光一体机 (打印 复印 扫描)驱动安装记录
  20. 【小程序源码】笑话段子手

热门文章

  1. 115网盘linux 下载速度慢,linux vps 上 下载115网盘 的方法
  2. adobe audition cs6 能打开mpcm文件吗?_Adobe全家桶出现这些漏洞,赶紧上官网下载补丁吧...
  3. 【牛客 - 181F】子序列(容斥,组合数,费马小定理)
  4. CS231n Convolutional Neural Networks for Visual Recognition------Numpy Tutorial
  5. 3.Programming in TensorFlow and Keras
  6. 打印机显示发送任务到服务器失败,G-FAX单机版操作指引-AOFAX—传真服务器.DOC
  7. html表格全屏显示,tableView滑动全屏显示
  8. matlab两张图片合成一张_11. 图像合成与图像融合
  9. 获取键盘录入的5个int数,并存放到int数组arr中,输入前提示输入的是第几个值 * * 2.2 传递数组arr调用getNum(int[] arr)方法,获取返回值,并打印输出
  10. c语言常用算法累加法例题,C语言第三次模拟练习题部分解答.docx