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一下   
原文地址:https://www.cnblogs.com/lianxuebin/p/8485232.html