Git和Github的基本操作

一、了解Git和Github

1、什么是GIT?

Git是一个免费、开源的版本控制软件

2、什么是版本控制系统?

版本控制是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况得系统。

  • 系统具体功能

    记录文件的所有历史变化

    随时可恢复到任何一个历史状态

    多人协作开发或修改

    错误恢复

版本控制的工具:

  - svn

  - git  :软件帮助使用者进行版本的管理

3、什么是Github

Github是全球最大的社交编程及代码托管网站(https://github.com/)。

Github可以托管各种git库,并提供一个web界面(用户名.github.io/仓库名)

4、 Github和Git是什么关系

Git是版本控制软件

Github是项目代码托管的平台,借助git来管理项目代码

二、使用Git

一个创业者的故事:

项目背景:这个创业者想开发一个资源共享的系统

阶段一:顺利上线代码

首先在你创建的项目的文件夹里面右键--->点击Gir Bash Here---->吧git运行起来。

1、初始化:git   init

2、如果你第一次使用git的时候,需要配置一下。如果你已经配置了,以后就不用配置了

3、吧当前的目录以及及所有的子文件添加到git:git add .    #所有的文件

                            git templates/index.html   #具体添加的文件

4、真实的吧数据提交上线:git commit -m "描述信息"

5、查看状态,看那个是否被修改过:git status

一定记得先add,后commit,add之后是没有放到版本里的,只有commit的时候才有版本

6、查看有几个版本:查看版本提交记录   :git log

7、回滚到上一个版本:git   reset --hard   版本号

没一次生成的时候commit后面都会随机的生成版本号

8、再跳回去(查看往后的版本号):git reflog

Git把管理的文件分为了两个区域四个状态。

add到暂存状态的时候成绿色了,在commit的时候就没有了

提供了这个回滚的功能。

阶段二:当开发到一半的时候出现bug,修复bug

  - 开发直播功能(预计一周开发完成)

当项目开发到一半的时候,出现bug了怎么办?

解决思路:把我们的代码变成没开发之前的代码,改完bug再提交。先把你当前开发的代码拿走,找个地方先存起来。

那么怎么做呢?

方案一:修复bug:stash

stash用于将工作区发生变化的所有文件获取临时存储在“某个地方”,将工作区还原当前版本未操作前的状态;stash还可以将临时存储在“某个地方”的文件再次拿回到工作区。

特别的:执行 git stash pop 命令时,可能会遇到冲突,因为在紧急修复bug的代码和通过stash存储在“某个地方”的代码会有重合部分,所以执行 git stash pop 时候就会出现冲突,有冲突解决冲突即可。

stash相关常用命令:

  • git stash             将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
  • git stash list        查看“某个地方”存储的所有记录
  • git stash clear     清空“某个地方”
  • git stash pop       将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
  • git stash apply     编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
  • git stash drop      编号,删除指定编号的记录

当你新开发的代码和你修复的代码发生冲突的时候就手动解决冲突。

方案二:修复bug:利用分支(推荐)

默认会有一个master的分支。只做线上的版本,注意不要在master分支上修改,要修改的话就创建一个bug分支

1、创建一个修复bug的分支:git  branch  bug   ,这个bug分支是在master分支上建的,相当于拷贝了一份

2、查看一共有几个分支 :  git  branch

3、跳转到bug分支:git  checkout  bug

4、跳转到master分支:git branch master

5、创建一个修复bug的分支:git  branch  dev    #只做开发的版本

现在就有三个分支了,每个分支都是不一样的,bug修复完了,现在就要合并在master上了。

6、master和bug分支合并:git mare bug

7、删除bug分支:git branch -d bug

8、继续开发,切到dev:git  branch  dev

9、开发完毕,master和dev合并:git marge dev

切换之前一定记得把你的代码提交一下。

合并的时候可能出现冲突,可能不出现,出现冲突了就得手动解决

修复Bug流程:git branch dev git checkout dev # 写代码git add .git commit -m 'xxx'git checkout master   git branch bug git chekcout bug # 修复bug git add .git commit -m '紧急修复bug'git checkout master git merge bug git branch -d bug git checkout dev # 继续开发

阶段三: 两个地方办公

云端需要一个存放代码的地方用Github

  公共的

     - Github是用来做代码托管的

     - 码云,做代码托管

     - csdn code ,做代码托管

  内部搭建:

     - gitlab

1、登录Github

在家里:

创建完成以后

就会有这样一个地址,我们就可以用这个地址来提交

下面是正在往远程推送,完了登录上去就会有mester分支了。

当然我们也可以吧dev也推送过来,和上面一样的方式。

在公司:

克隆

克隆的时候只是把master分支克隆了,其他的怎么拿呢?

用 git pull origin dev   #拿到远程的dev

创建目录

                家里:git add .git commit -m 'xx'git remote add origin https://github.com/WuPeiqi/greenlu.gitgit push origin master 公司:# 新公司第一次获取代码方式一git clone https://github.com/WuPeiqi/greenlu.git方式二git init git remote add origin https://github.com/WuPeiqi/greenlu.gitgit pull origin master 直接拿回来方式三git init git remote add origin https://github.com/WuPeiqi/greenlu.git这的两句相当于git pull origin master 这一句git fetch origin master  拿到分支上了git merge origin/master  合并在一起# 日后git pull origin master  #或者git fetch origin master git merge origin/master #   如果你在本地修改问题,又add,又提交,在线上去拿的时候,或许会冲突

 小应用:

vim a1.py #查看内容
cat a1.py #查看内容
当你在家的时候吧代码上线了。到了公司以后吧线上的代码拉回来。git pull origin dev
开始写代码了。
写完之后add commit。。。这时候忘了往github上提交了
回到家的时候,那今天写的代码没提交,怎么办呢?回公司太晚了,在写一遍浪费时间
,或许你还记着今天写的代码,就在这基础上又开发了,
这下提高了警记了,就记得提交了 add 、commit 、git push origin dev
第二天又到公司了,那昨天的代码怎么办呢、、?是拉下来呢?还是推上去呢?
如果你推上去的话,没有冲突还好,如果有冲突的话,那你把你的冲突都上线了,不让你提交,所以我们要先拉下来
先去吧代码拉下来,git pull origin dev 可能会有冲突,解决冲突。

转载于:https://www.cnblogs.com/mqhpy/p/11371321.html

Git和Github的基本操作相关推荐

  1. Git与github基本操作

    一.  git安装与简单配置 1.      git的安装 首先进入git的官方网站git-scm.com 下载自己电脑对应的git版本,然后点击安装即可 点击上图的红色部分进行下载 安装的时候直接默 ...

  2. windows下Git与GitHub的安装及建仓基本操作

    目录 1 安装Git(Git for Windows) 1.1 准备安装文件 1.2 安装 1.3 查看安装结果 1.4 配置Git 2 Git的简单使用 2.1 建仓 2.2 Git指令 2.3 版 ...

  3. 面向小白:git和github的简明使用教程

    什么是github 简介 一个网站/社交平台,可以存放代码,有很多开源项目. 详介 github是程序猿的代码托管平台,也是基于git的开源分布式版本控制系统,因此github官网上并没有为用户准备一 ...

  4. Git和Github的学习

    来源: 秦时明月NightTiger Git和Github的学习 作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不 ...

  5. GIT和GitHub的使用总结

    目录 一.GIT初始化设置: 创建密钥 添加远程仓库 用户名邮箱配置 Clone远程仓库 创建本地仓库 代理设置 自定义操作 二.GIT基本操作 添加到暂存区区 提交 删除 版本回退 撤销修改 三.G ...

  6. 如何用Git向GitHub上传送文件(从注册GitHub到用Git上传的每一步)

    文章目录 1.GitHub 1.1.GitHub注册(已经注册过的直接看1.2GitHub仓库的建立) 1.2 GitHub仓库的建立 2.Git 2.1Git 安装 2.2 Git 下载 2.3 G ...

  7. 轻松Git与Github入门

    文章目录 前言 一.版本控制系统介绍 1.版本控制系统的概念 2.版本控制系统功能 3.版本控制系统分类 二.Git 与GitHub 简介 1.Git 2.GitHub 三.Git账户注册与管理 1. ...

  8. Git、Github、Gitee、GitLab学习笔记

    文章目录 Git.Github.Gitee.GitLab学习笔记 前言 一.Git 1.Git概述 2.Git基本操作介绍 2.1 安装&卸载 2.2 启动 3.Git的基本使用 3.1 GI ...

  9. Git和Github的使用

    前言 我们知道我们的文件在需要管理的时候,如果出现崩溃或者文件丢失的情况的时候,就会对管理和工作造成非常严重的影响.而这个时候,我们就需要用到git和github来管理我们所使用的项目,可以帮助管理我 ...

  10. (一)Git和Github介绍

    你来了,快坐下,今天我们来讲讲编程界的两大神器: Git 和 Github. Git 和 Github 都是程序员每天都要用到的东西 -- 前者是目前最先进的 版本控制工具,拥有最多的用户,且管理着地 ...

最新文章

  1. android自定义文件选择,关于安卓自定义本地文件选择库的实现
  2. Akka 接收消息超时的处理_Receive Timeout
  3. Apache httpd服务
  4. Linux系统中软链接与硬链接使用特点
  5. server 2008R2 AD域环境中DHCP服务器的授权步骤
  6. 一探即将到来的 C# 10
  7. java零钱换整程序_贪心算法换零钱(java)
  8. 全球撤稿排行榜前10出炉:第一名多到想象不到
  9. 计算机应用基础抢答题,计算机应用基础问答题
  10. Spring Boot 前端传json数组,后台接收处理
  11. C#昵图素材下载器源码可下我图、包图、千图等(带数据库)
  12. java 调用 axis2_java调用WebService服务 axis2实现方式
  13. c#html转换pdf,[C#] 网页Html转PDF档(一行程式码解决)
  14. 数字滤波器的简单使用
  15. ThinkAdmin列目录/任意文件读取(CVE-2020-25540 )漏洞复现及环境搭建
  16. 推荐三个图片编辑软件给你
  17. 哈尔滨工业大学2022计算机系统大作业
  18. java干嘛_java是什么(Java到底能干嘛?)
  19. Yii Framework 开发教程(45) Zii组件-Selectable示例
  20. 【代码总结-不定期更新】

热门文章

  1. Barrett reduction算法
  2. 全国DNS服务器ip地址
  3. [笑话]1+1等于几?(新版)
  4. ps中基色 混合色 结果色是什么
  5. android手表微信运动,华为手表(华为运动健康APP)终于能绑定微信运动
  6. 移动机器人 | 传感器及分类
  7. Java的未来前景怎么样?
  8. 数据分析学习记录--用EXCEL完成简单的单因素方差分析
  9. vue示例todos
  10. 穿越“惊世骇俗”的美景