Git和Github的使用

1、了解Git和Githubhtml

一、什么是GIT?git

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

二、什么是版本控制系统?web

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

  • 系统具体功能

    记录文件的全部历史变化app

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

    多人协做开发或修改工具

    错误恢复gitlab

版本控制的工具:post

  - svn

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

三、什么是Github

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

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

四、 Github和Git是什么关系

Git是版本控制软件

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

2、使用Git

一个创业者的故事:

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

阶段一:顺利上线代码

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

一、初始化:git   init

二、若是你第一次使用git的时候,须要配置一下。若是你已经配置了,之后就不用配置了

三、吧当前的目录以及及全部的子文件添加到git:git add .    #全部的文件

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

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

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

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

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

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

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

八、再跳回去(查看日后的版本号):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分支

一、建立一个修复bug的分支:git  branch  bug   ,这个bug分支是在master分支上建的,至关于拷贝了一份

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

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

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

五、建立一个修复bug的分支:git  branch  dev    #只作开发的版本

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

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

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

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

九、开发完毕,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

一、登陆Github

在家里:

建立完成之后

就会有这样一个地址,咱们就能够用这个地址来提交

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

 

固然咱们也能够吧dev也推送过来,和上面同样的方式。

在公司:

 克隆

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

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

建立目录

复制代码
                家里:
                    
                    git add .
                    git commit -m 'xx'
                    
                    git remote add origin https://github.com/WuPeiqi/greenlu.git
                    
                    git push origin master 
                    
                公司:
                    
                    # 新公司第一次获取代码
                        方式一
                        git clone https://github.com/WuPeiqi/greenlu.git
                            
                        方式二
                        git init 
                        git remote add origin https://github.com/WuPeiqi/greenlu.git
                        git 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,又提交,在线上去拿的时候,或许会冲突
相关文章
相关标签/搜索