git 多分支,git远程仓库,ssh方式链接远程仓库,协同开发,冲突解决

一、git 多分支

image
image
image
image
image
image

# 分支操作
0 查看分支
git branch      # 本地
git branch -a   # 本地和远程
1 创建分支
git branch dev

3 切换分支
git checkout 分支名字

4 删除分支
git branch -d 分支名

5 合并分支 操作步骤
	git branch dev
    git checkout dev
    新增一个文件 xx.txt,加入一行
    git add .
    git commit -m 'dev分支增加了xx.txt'
    修改lqz.txt  加入一样
    git add .
    git commit -m 'lqz.txt 加入内容'
    
    
    # 切回到主分支(增的东西,都没有)
    	# 新增的文件,看不到
   	# 把dev合并到master上,要在master身上
    git merge dev

  # 主分支和dev分支就一样了

二、git远程仓库

image
第一步
image
第二步
image
第三步
image
第四步
image

# 我们要协同开发,代码要提交到远程仓库,可以使用gitee,github,gitlab,本文以gitee为例
#1  以gitee为例,注册账号
	
#2 在账号中,新建一个仓库 [本地仓库,推送到远程仓库]
#3 如图所示  ----》[如果创建远程仓库不是空的,就会有问题]
#4 本地仓库,推到远端
	-本地已经有了
    # git remote 查看有哪些远程仓库
    # git remote remove origin   # 删除本地跟远程仓库的链接关系
    cd lqz
    # git remote add 远程仓库名字  远程仓库地址
	git remote add origin https://gitee.com/liuqingzheng/lqz.git
	git push origin master  # 把本地仓库中所有的内容,提交到远程仓库
    # 弹出框,要求输入用户名和密码(之前输入过,保存了)
    
    # 本地仓库代码就会被推送到远端了

修改用户名username

image

三、ssh方式链接远程仓库

# 刚刚的远程仓库,推送,走的都是https的协议,需要用户名密码

# 加密方式
	-对称:AES,DES
   	-非对称:
# 公司里,常用ssh协议方式推送代码
	-git@gitee.com:liuqingzheng/lqz.git
    -它不需要用户名密码,而需要:公钥私钥【非对称加密】
    -在本地机器生成公钥[可以给任何人]和私钥[自己留着]

具体操作

-1 先删除原来使用https链接的remote

image

-2 增加一个跟远程仓库的链接 origin ---》是ssh协议的

image
image

	git remote add origin git@gitee.com:liuqingzheng/lqz.git

-3 本地机器,生成公钥私钥[使用命令生成]

https://help.gitee.com/base/account/SSH公钥设置
image

-打开cmd 执行 ,一路回车
        	ssh-keygen -t ed25519 -C "306334678@qq.com"
        - 用户家路径,生成 .ssh文件夹,里面有公钥和私钥

image
image

- 4 把公钥配置在gitee上【打开公钥】--》可以配多个

	-https://gitee.com/profile/sshkeys

image

-5 以后放心大胆的

	git push origin master # 提交代码即可

image

# 你在公司中
    -1 用gitlab,可能你自己注册账号,也可能别人直接给你注册号了,你直接登录,修改密码即可
    -2 登录gitlab能看到代码仓库,仓库的所有者[你们领导],会把你加成这个仓库的【开发者】
    -3 基于这个仓库继续开发,提交代码
    -4 ssh方案:本地生成公钥私钥【本地有了,就不用重新生成了】
    -5 把公钥,配置在自己的gitlab账号里面

四、协同开发

# 仓库管理员[领导],创建仓库,邀请成员,成为开发者

# 被邀请的人,登录自己账号,就能看到仓库了

多人协同开发

# 1 从远端克隆代码
# 2 进到文件夹中,改东西
# 3 git add .
# 4 git commit -m '改了一行'
# 5 git pull origin master  # 拉去仓库中最新的代码   否则提交不了
# 6 git push origin master


# 多人操作统一仓库,就是协同开发,但是咱们这个操作,没有遇到冲突

image
image
image
image

五、冲突解决

# 出现冲突的原因
	-1 多人在同一分支,修改了同一个地方的代码,出现的冲突
    -2 分支合并时出冲突

1 多人统一分支开发,修改了同样的代码

	-某人修改了1.txt的第四行,提交了
    -我操作:
    	-修改了1.txt第四行
        -git add .
        -git commit -m ' 注释'
        -git pull origin master
        -出冲突了
            <<<<<<< HEAD
            我的代码
            =======
            别人的代码
            >>>>>>> af38b6ae4d9e126bd88b9b039e475e8ddbc23510
	   -处理冲突
    		-选择要保留的代码,要么删自己的,要么删别人的,要么都留着
       -重复操作
    	git add .
        git commot -m '解决冲突' 
        git push origin master
    
    
   
    
# 大原则,多人同一分支开发,如果尽量避免冲突,要不停的拉去代码

image

image

分支合并出冲突

	  # 新建dev分支,切换,增加代码
    	git branch dev
        git checkout dev
        在1.txt最后一行增加 lqz nb1
        git add 
        git commit -m '注释'
      # 切换回主分支操作
    	git checkout master
         在1.txt最后一行增加 lqz nb2
        git add 
        git commit -m '注释'
      # 合并分支
        -出冲突了
            <<<<<<< master
            我的代码
            =======
            别人的代码
            >>>>>>> dev
      # 解决冲突,提交
    	git add
        git cmommit 

image

image
image

posted @ 2023-06-20 19:26  岳宗柯  阅读(40)  评论(0编辑  收藏  举报