day23_雷神_git

git

版本控制工具

下载: https://git-scm.com/
     git clone: 是用来拉代码的,git pull是更新当前分支的代码,拿到最新的代码,git pull是获取已经存在的仓库

管理代码:

	初识化  git init 
	查看状态 git status 
	添加管理  
			git add 文件名
			git add . 
	配置信息
			git config --global user.email '邮箱地址'
			git config --global user.name '用户名'
		
	提交版本  git commit -m '描述信息'   越详细越好
	
	
	查看所有的版本
			git log  
			git reflog  (所有版本)
			
			git reset --hard 版本号(哈希值)
			
			
			
	突然出现BUG,新开发的功能没有完成:
			git stash    把当前做的修改的内容隐藏(放到某个地方),回退原始的状态
			修复BUG
			提交新的版本
			接着开发未完成的功能:
			git stash pop
				
	stash
		git stash 
		git stash list      查看“某个地方”存储的所有记录
		git stash clear     清空“某个地方”
		git stash pop       将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
		git stash apply     编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) 
		git stash drop      编号,删除指定编号的记录
	
				
	分支:
		- master 主要的
		- dev    开发
		
		git branch  查看所有的分支
		git branch dev  创建一个叫dev的分支
		git checkout dev  切换到dev的分支
		
		
		git checkout master  切换到master的分支
		git merge dev      	  把dev分支的合并到master上
		
		
		git branch -d debug   删除debug分支
		
		
	线上出现BUG时,如何操作?
		保存当前的修改。切换到master分支上。创建debug分支,再切换到debug分支上进行代码的修改,修改完之后,提交版本。
		切换到aster分支上,将debug分支上的代码合并过来。把debug分支删除掉。
		
		
	工作区和版本库:
		git checkout 文件名  把修改的状态还原  
  1. 代码管理平台

    • GitHub
    • gitlab
    • 码云

    情景模拟:
    创建项目
    切换到项目目录中进行初始化

     	git init 
     	git config --global user.email 'xxx@xx.com'
     	git config --global user.name 'xxx'
     	
     	git add .
     	git commit -m '描述'
     	
     	
     	git branch dev  
     	git checkout dev 
     	修改开发
     	git add .
     	git commit -m '新功能开发'
     	
     	git checkout master
     	git merge dev 
     	
     没有GitHub的需要注册
     在远程创建代码库 hbhot  https://github.com/xiao380/hbhot.git
     	
     	在家里的电脑上:
     	git remote add origin https://github.com/xiao380/hbhot.git
     	推代码
     	
     	git push -u origin master  在远程创建master分支
     	git checkout dev
     	git push -u origin dev      在远程创建dev分支
     	
     	
     	在公司:
     	从GitHub上下载代码  可以手动下载
     	
     	git clone https://github.com/xiao380/hbhot.git  只下载了master分支
    
     git clone是远程操作的第一步,通常是从远程主机克隆一个版本库,eg: git clone ##   该命令会在本地主
     机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数。eg: 
     	
     	git branch dev
     	git checkout dev 
     	git pull origin dev  从远程下载dev分支
     	
     	继续在dev分支上开发代码。。。
     	git add .
     	git commit -m '1.py'
     	
     	
     	在家:
     	git pull origin dev
     	开发
     	提交新的版本
     	推到远程
     	
     	在公司:
     	git pull origin dev
     	开发
     	提交新的版本
     	推到远程
     	
     	
     	下班忘记推代码了:
     		在家开发新的功能 不1.py中写了 写新的功能 2.py
     		git add .
     		git commit -m '2.py'
     		git push origin dev
     		
     		
     		第二天到公司:
     		git pull origin dev  没有问题自动合并 填写信息
     		。。。。  
     		
     		
     		有冲突解决冲突就性,记得下班的时候推代码。
    

    保持分支记录清洁:

     git pull origin dev   
     
     等于:(有分叉的)
     	git fetch origin dev
     	git merge origin/dev
     约等于:(没有分叉,保持记录的清洁)
     	git fetch origin dev
     	git rebase origin/dev
    

    多人开发:
    合作者模式:
    当前项目的拥有者 xiao380
    邀请 其他人参与项目 maple-shaw

     组织
    

https://www.cnblogs.com/maple-shaw/articles/7552210.html

My name is 侯冰雷 ~~欢迎转载 ~~欢迎关注 ~~欢迎留言
原文地址:https://www.cnblogs.com/houbinglei/p/9985039.html