zoukankan      html  css  js  c++  java
  • git命令与协同开发

    一 git命令

    1.简单命令

    git init # 初始化 (建立git  版本相关文件关系都放这里)
    
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"    # 配置用户
    
    git add . # 当前所有文件夹和所有文件文件加入版本库
       - .是指所有文件夹下所有文件  
       - add templates/index.html  添加指定的文件夹
    
    git commit -m “命名名称”   #提交到版本库
       - 注意:命名名称不能随便命名 要结合实际 以便以后查找
    
    git log  # 查看当前所有版本
    git reset --hard 版本号  # 回滚到当前版本号的版本
    
    git reflog # 显示回滚前的所有版本
    git reset --hard 版本号  # 回滚到当前版本号的版本
    
    git status  # 查看当前版本改动的状态
    
    ls (linux命令) #查看当前所在目录下的所有文件
    
    cd a.py 切入文件夹
    
    cd.. 退回到上一层目录
    
    git tauch a.py  创建空的文件
    
    mkdir 目录名称 创建目录 
    
    vim a.py  编辑文件 
       - 点i后  进入编辑模式 可以进入编写   
       - 点ESc 在输入:w  表示保存不退出退出
       - 点Esc  在输入:wq 保存文件并退出
       
    ###分支命令
    git branch 分支名称  # 创建分支 
    git branch           # 查看当前所有分支
            
    git branch -d dev    # 删除分支dev
    
    git checkout 分支名称  # 切换分支  (修改过代码后 切换分支需要先提交一下代码 否则报错)
    
    git merge dev   分支合并  (合并时 在哪个分支下 代码就会合并在哪个分支)

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

    区域:
       工作区:
    	 原内容        
    	 修改过的内容    # git status 查看状态
       版本库
    	 暂存    # git add .  将修改内容加入暂存状态(通过 status 查看状态  颜色为绿色)
    	 分支    # git commit -m “版本名称” 将暂存状态改为分支

     b. 紧急bug修复方法:

    方法一:stash (了解)			 
    	git stash 将当前工作区的修改过的代码暂存到某个地方中
    					
    	按照原来代码继续开发...
    	git add .
    	git commit -m '修改完成'
    	
    	git stash pop
    		- 不产生冲突
    		- 产生冲突,手动去解决
    
    
    	git stash               将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原                                                                到当前版本未修改过的状态
    	git stash list          查看“某个地方”存储的所有记录
    	git stash clear         清空“某个地方”
    	git stash pop            将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
    	git stash apply  编号    将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) 
    	git stash drop  编号    ,删除指定编号的记录		 
    
    方法二:创建分支(重点学习 面试题)
    
    	moster  # 默认分支  (线上版本分支 不允许修改)
    	
    	dev   # 开发分支 
    	
    	bug   # 修改bug分支  (创建分支时复制的代码是所在分支的代码)
    	
    	git branch 分支名称  # 创建分支 
    	git branch           # 查看当前所有分支
    			
    	git branch -d dev    # 删除分支dev
    	
    	git checkout 分支名称  # 切换分支  (修改过代码后 切换分支需要先提交一下代码 否则报错)
    
    	git merge 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版本管理软件

    1 .把代码从github上拿下来方法:

    方法一:
        下载
    方法二:
        git clone 地址  
    方法三:
        git init                         
        git remote add origin 
        git pull origin master           
    	
    #与git pull origin master相同
        git fetch origin master
        git merge origin/master  
    

    2 . 流程

    家里:
        git add .
        git commit -m 'xx'
        
        git remote add origin https://github.com/WuPeiqi/greenlu.git
        
        git push origin master  # 将代码提交到github上
        
    公司:
        
        # 新公司第一次获取代码
            方式一:
            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 fetch origin master 
            git merge origin/master 
        
        # 日后 (clone一次后 以后再拿代码可以直接执行下面代码,
                 应用场景:在家里或公司写好代码未上传 在另一地继续写)
            
            方式一:
            git pull origin master  #直接将代码拉下来到工作区
            
            方式二:
            git fetch origin master  # 只是单纯的将master下载下来  
            git merge origin/master 
            
    方式三: git rebase origin
    /master # 与merge功能相同 应用场景:多人开发 分支较多时 git add . git rebase --continue *** cat a.py # 查看文件内容 问题:在公司写完代码忘了提到github上 回到家后继续写代码 写完提到github 怎么合并代码 解决方案:把在家写的代码拉下来 解决冲突 保存即可

     三 合并开发

    # 多分支开发流程
        master   (线上分支)
        dev      (测试)
        review 合并开发分支(一般一两天合并一下分支代码并由老大审核完代码后再合并到dev)
        bb    (个人分支)
        sk    (个人分支)
        wh    (个人分支)
                                                  
        - 协作开发
            - 项目协作者
            - 组织
            
        -开发示例
            - 到新公司后clone下代码
            - 创建dev review 个人分支
            - 切入个人分知后 开发新功能
            - 一个小功能开发完后合并 切入review 合并前要pull一下review 这样可以拿到最新代码
            - 合并后 push一下   
  • 相关阅读:
    Ubuntu速配指南之热门设置
    最高境地的Linux桌面
    菜鸟在Linux零碎中安置Oracle 11G
    Ubuntu 7.10疾速设置指南
    excel的单元格怎么实现下拉菜单?
    Delphi 与 DirectX 之 DelphiX(16): DXImageList1.Items.Find();
    Delphi 与 DirectX 之 DelphiX(19): 绘图表面(TDirectDrawSurface)如何加载图片
    Delphi 与 DirectX 之 DelphiX(18): TDXDraw 中描绘图片的命令
    Delphi 与 DirectX 之 DelphiX(17): TPictureCollectionItem.PatternWidth、PatternHeight
    Delphi 与 DirectX 之 DelphiX(23): TDirectDrawSurface.Blur;
  • 原文地址:https://www.cnblogs.com/lianxuebin/p/8485232.html
Copyright © 2011-2022 走看看