首页 > 其他分享 >路飞项目day_06

路飞项目day_06

时间:2023-03-02 19:56:36浏览次数:31  
标签:origin git 06 仓库 dev 路飞 master day 分支

目录

今日内容详细

一、git多分支

# 为什么要有分支
	-可以保证,主分支的版本都是可以查看的版本
	-我们都在开发分支开发,开发完成,合并到主分支
    
# 分支操作
	-分支查看
		git branch
	-分支创建
		git branch 分支名
		git branch dev
	-分支切换
		git checkout dev  # 切换到dev分支
	-分支删除
		git branch -d dev
        
	-合并分支:(重要)
		-把dev合并进master
		-先来到master分支:git branch checkout master
		-执行合并命令:git merge dev  # 把dev合并到我(master)身上
		# 分支合并可能会出冲突
        
# 公司里分支方案:小公司
	-master分支,dev分支,bug分支,所有人在dev分支开发,开发完成合并到主分支
	-master分支,dev分支,bug分支,个人分支,个人在个人分支上开发,开发完成合并到dev分支

二、git远程仓库

# 把本地的版本提交到远程仓库
# gitee,github,gitlab...
# gitlab的搭建过程:
https://zhuanlan.zhihu.com/p/413217715
    
# luffy_api写好了一部分功能,要把代码提交到远程仓库

# 操作步骤:
	本地:
		1 在luffy_api 敲git init
		2 设置忽略文件(.gitignore)
		3 git add .
		4 git commit -m '第一次提交'
		-----提交到了本地版本库-----被版本管理了
        
	远程:
		1 远程要创建仓库:gitee上创建仓库,右上角+
		2 填一些信息,保证仓库是空的
	本地:
		1 安装远端提示的步骤操作
		2 设置用户和邮箱
		3 咱们是已有仓库
		cd luffy_api
		# 添加一个远程仓库地址名字叫origin,地址是xxx
		git remote add origin https://gitee.com/yf99521/luffy_api.git
		# 把本地的版本库推送到远程仓库
		# 把本地当前所在分支,推送到origin对应的远程的master上
		git push origin master
		git push origin master
		# 需要输入用户名密码,输入一次,以后就不用输入了(本地保存了:凭据管理)
        
# 如果提交了,再写忽略文件的步骤
	luffy.log--->暂存区---> 版本库
    
	.gitignore--->写上忽略,但是不会被忽略,只要luffy.log有变化还是会被监控到
    
	删除luffy.log---> 会被监控到---> add,commit----> 版本库中已经没有luffy.log
	再出的luffy.log,就不会被管理了

image-20230302164832944

三、ssh方式连接远程仓库

# 刚刚提交代码---> 输入了用户名密码---> 才可以提交上去---> 使用的是https的协议提交的代码
	-它需要输入用户名和密码
    
# 咱们要使用ssh方案:需要公钥和私钥   ---> 公司里这种方式多
	-私钥在本地保存
	-公钥配置到gitee上
	-以后再提交代码,不需要其他任何认证了,一路绿灯
    
# 使用步骤:
	-生成公钥私钥:https://gitee.com/help/articles/4181
		-在命令窗口中执行,一路回车
		ssh-keygen -t ed25519 -C "[email protected]" 
		-生成在:C:\Users\Administrator\.ssh  两个文件,一个公钥,一个私钥
	-把公钥配置在gitee上
	-之前origin对应的地址是https的,现在要使用ssh提交代码,需要把它删除,再增加成ssh的协议
	git remote remove origin  # 删除之前的
	git remote add origin [email protected]:yf99521/luffy_api.git

四、协同开发

# 我[仓库管理员]创建了仓库,我对仓库有各种权限
# 我们要多人开发(张三,李四),张三李四在自己的仓库中,能看到我的项目吗?看不到
# 我[仓库管理员],把张三李四设置为该仓库的开发者,设置完成后,在张三李四的仓库中就能看到这个项目了

# 仓库管理员,邀请开发者进入
	-邀请的开发者,对这个仓库就有读写权限,他们就可以开发代码,提交
    
# 我作为开发者,本地没有代码
	1 把代码从远程仓库 clone 下来
		git clone [email protected]:liuqingzheng/luffy_api.git
	2 使用pycharm打开,配置好解释器,安装依赖
	3 开发代码,开发完
		git add
		# 设置用户名和邮箱
		git config user.name qyf
		git config user.email [email protected]
		git commit -m'...'
		git push origin master
        
# 刚去公司,你的步骤
	1 自己注册,hr给你 gitlab 账号和密码
		-自己去你的账号里,配置ssh
	2 老大会把一个仓库地址给你 【它已经把你加成开发者了】  https  ssh
	3 clone下来代码
	4 使用pycharnm打开,配置环境 ===>代码运行起来
	5 开发代码,本地提交--->push到远端
		add
		commit
		push

五、冲突解决

# 出现冲突的原因
	1 多人在同一分支开发
	2 分之合并出现冲突
    
    
    
# 多人在同一分支开发冲突
	-张三:
		git pull origin master
		在requirements.txt,最后一行加入 lqz
		git add .
		git commit -m 
		git push origin master
        
        
        
	-我:
		在requirements.txt,最后一行加入 lqz
		git add .
		git commit -m 
		git pull origin master
		# 冲突了
		# 解决冲突 冲突的 箭头去掉,阅读代码,选择保留或删除别人或自己的代码,再提交
		# 提交到远程仓库,这是解决后的
        
        
        
# 冲突出现的样子:你如果要删除别人的代码,你需要跟别人说一声
    <<<<<<< HEAD   我的代码
    print('刘亦菲')
    =======   它的代码
    print('彭于晏')
    >>>>>>> 6f720edbd84c8744b1c7c10767fb89a5d0fa98f5
    
    
    
 
 
# 避免出现冲突
	-你如果想少出现冲突,勤拉取代码
 	
 	
 	

 	
# 冲突出现的原因2,分支合并出冲突
	-我:
		1 创建dev分支 
			git branch dev
		2 在dev分支的views.py 中第2行加入代码
        
		3 提交到本地仓库
        
        
	-我:
		1 在主分支的views.py 中第2行加入代码
		2 提交到版本库
		3 在主分支合并代码  git merge dev
		4 冲突了,解决冲突
		5 再提交代码,到此结束

六、线上分支合并

# 线下分支合并
	git merge dev
    
    
# 线上 分支合并
	- gitee上,新建一个分支 ,点点点创建出来
	-本地同步远程dev分支
		git pull origin dev  # 拉下来了,还看不到,只有切过去,才看的导
		git checkout dev
	-在dev上开发开发
		随便加代码
		git add 
		git commit 
		# 提交到本地的dev了
        
	- 推到远端 dev
		git push origin dev
	-master中没有代码,dev中有提交的,现在要线上分支合并
	-把远程的dev合并进远程的master
	-提交pr    提交rr
	-在网站上,申请提交pull request
	-领导审核,测试,通过后,点击合并
	-线上dev就合并进线上的master了

七、远程仓库回滚

# 你不要用
# 想远程的代码,是最初的状态

# 步骤:
	1 本地版本回退
		git reset --hard 版本号
        
    2 强行推到远端
		git push origin master -f

标签:origin,git,06,仓库,dev,路飞,master,day,分支
From: https://www.cnblogs.com/qian-yf/p/17173162.html

相关文章