python之路_最简单的Git介绍

1、Git与Github介绍html

1.Git介绍  git

  git是干什么用的?实现版本控制。各行各业都须要版本控制,主要实现版本控制的工具方式分别为svn和Git。程序员

二、Github介绍github

  GitHub是一个基于Git的远程文件托管平台(同GitCafe、BitBucket和GitLab等)vim

三、两者关系并发

  Git自己彻底能够作到版本控制,但其全部内容以及版本记录只能保存在本机,若是想要将文件内容以及版本记录同时保存在远程,则须要结合GitHub来使用。使用场景:a、无GitHub:在本地 .git 文件夹内维护历时文件;b、有GitHub:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库svn

2、Git基本使用工具

一、第一次使用测试

'''
一、在电脑上安装git软件(自行下载软件并安装)

二、启动git:建立的项目的文件夹里面右键--->点击Git Bash Here

三、git初始化:git init

四、配置Git:分别执行命令:
    git config --global user.email "you@example.com"
    git config --global user.name "your name"
'''

二、版本控制fetch

'''
一、文件添加到git:git add .   (.指目录下全部的文件,也能够指定文件)

二、文件提交git备份:git commit -m "描述信息"

三、查看版本状态:git status

四、查看版本提交记录:git log

五、回滚指定版本: git   reset --hard   版本号  (版本号能够经过git log查看,为随机字符串)

六、查看日后提交记录:git reflog
'''

  以上请注意:必定记得先add,后commit,add以后是没有放到版本里的,只有commit的时候才有版本。

三、修复bug

  有这样一个场景,产品上线后,开发员A将在继续开发一个新的功能,当新功能开发到一半时候,忽然线上的版本出现bug,A要对其进行当即的修复,流程以下:

方式一:stash

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

#步骤:

'''
一、git stash:将开发到一半的直播功能,临时存储到“某个地方”

二、git status:查看工做区回到当前版本未作任何操做前(此时即为上线的版本)

三、修复bug

四、git add .

五、git commit -m '紧急修复bug'

六、git stash pop:将开发到一半的直播功能从“某个地方”再次拿会工做区继续开发
'''

  注意:执行 git stash pop 命令时,可能会遇到冲突,由于在紧急修复bug的代码和经过stash存储在“某个地方”的代码会有重合部分,因此执行 git stash pop 时候就会出现冲突,有冲突解决冲突便可。

方式二:分支

  branch称为分支,默认仅有一个名为master的分支。通常开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。建立新分支,即:拷贝一份当前所在分支代码到新分支。

#分支相关命令:
'''
git branch 分支名称             建立分支
git checkout 分支名称          切换分支
git branch -m 分支名称        建立并切换到指定分支
git branch                          查看全部分支
git branch -d 分支名称         删除分支
git merge 分支名称              将指定分支合并到当前分支
'''

修复bug流程:

'''
    git branch dev                                    (建立开发分支dev,全部的开发在dev分支上进行)
    git checkout dev 
                        
    写代码

    git add .
    git commit -m 'xxx'                                
                        
    git checkout master   
    git branch bug                                   (在master分支建立bug分支,在bug分支上修复bug,master分支上存储的是正式上线的版本。)
    git chekcout bug 
                        
    修复bug 

    git add .
    git commit -m '紧急修复bug'
                        
    git checkout master 
    git merge bug                     (在bug分支上修复完bug后,提交。并再此与master上的版本合并,并不影响dev分支上的开发。) 
                        
    git branch -d bug 
                        
    git checkout dev 
    继续开发
'''    

3、Github基本使用

一、代码托管

  正常的程序员通常都会存在多个办公地点,家里、公司或者咖啡厅,可是咱们又不能随身将代码装在优盘或者随身携带电脑,这该怎么办呢?就会用到github进行代码托管。实例以下:

  初次上传代码:

'''
一、注册github帐号,登陆后建立代码仓库

二、建立完后复制代码仓库的链接

三、在git上建立别名:git remote add origin 代码仓库链接

四、首次上传代码到github的master分支:git push origin master

五、一样也能够将代码上传到dev分支:git push orgin 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  合并在一块儿
                   

二、协同开发

  假如三我的共同开发同一份代码,每一个人都各自安排了任务,当每一个人都完成了一半的时候,提交不提交呢?要提交,提交到dev吗,都上传了一半,这样回家拿出来的代码根本跑不起来。因此,为每个人建立一个分支,各自都在各自的分支上写代码,互不影响。很短期内你们暂时先合并一次,否则冲突太多了。可是这个分支不是dev,而是review分支,当老大看完没问题以后再合并到dev分支。

#先建立了一个dev的分支
    git branch dev 
    git checkout dev 
    git push origin dev 
#又建立了一个review的分支
    git branch review
    gir checkout review
    git push origin review 
#建立本身的分支
    git branch haiyan 
    git checkout haiyan 
    git pull origin haiyan

应用实例:

张三建立了个文件
            git branch xxx 
            git checkout xxx
            touch a.py 
            ls 
            git add . 
            add commit -m '代码初始上线'
            git push origin xxx 
            ls
            vim a.py  #写了一些内容
            git add . 
            add commit -m '小功能开发完毕'
            git push origin xxx
            #如今两人都写完了,开始合并和review进行合并了
            git checkout review
            git pull origin review  #吧远程的review拉下来
            #把本身的合并发到review
            git merge xxx
            ls 
            git status 
            git push origin review 
            
            #再次写的时候
            git pull origin review  
李四建立了个文件
            git branch yyy 
            git checkout yyy 
            touch s.py 
            ls 
            git add . 
            add commit -m '到了新公司好激动啊'
            git push origin sk 
            ls
            vim s.py  #写了一些内容
            git add . 
            add commit -m '小开发完毕'
            git push origin yyy
            #如今两人都写完了,开始合并和review进行合并了
            git checkout review
            #git pull origin review  #若是先没有吧远程的review拉下来
            #吧本身的合并发到review
            git merge yyy
            ls 
            git status 
            git push origin review   #这时候的review是最新的,那么张三先提交了,完了她还得拉先来再合并一次
        注意:老大看了review分支,若是OK,能够放到dev分支进行测试,若是测试没有问题了才放到master分支。
           master分支:线上的版本,永远保证线上的版本,不管是回滚到哪都是能用的

以上内容参考博客:http://www.cnblogs.com/wupeiqi/articles/7295372.html

相关文章
相关标签/搜索