「路飞项目05」git

1 git 多分支

# 分支操作
'''
0 查看分支
git branch      # 本地
git branch -a   # 本地和远程

1 创建分支
git branch dev

2 切换分支
git checkout 分支名字

3.创建并切换到分支
git checkout -b 分支名

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

5 合并分支 操作步骤
git branch dev                     # 新建一个名为dev的分支
git checkout dev                   # 将当前所处位置切换至dev分支
新增一个文件 xx.txt,加入一行          # 在dev分支中进行文件编辑
git add .                          # 工作区文件移至暂存区
git commit -m 'dev分支增加了xx.txt'  # 暂存区文件移至版本库,git全面掌控
# lqz.txt加入一行,同上add和commit
git chenckout master               # 切回到主分支(增的东西,都没有)
more xx.txt                        # 新增的文件,看不到
git merge dev                      # 把dev合并到master上,要在master身上! master主分支和dev分支就一样了
'''

2 git远程仓库

# 我们要协同开发,代码要提交到远程仓库,可以使用gitee,github,gitlab,本文以gitee为例
# Linux遵循GPL协议
1 以gitee为例,注册账号
	
2 在账号中,新建一个仓库 [本地仓库,推送到远程仓库]

3 如图所示  ----》[如果创建远程仓库不是空的,需要把本地仓库中.git删除,把克隆下来的远程仓库所有东西,复制到本地仓库内部,继续操作才可以]

4 本地仓库,推到远端
-本地已经有了
    # git remote 查看有哪些远程仓库
    # git remote remove origin    删除本地跟远程仓库的链接关系
    # cd Documents/my-project  切换到本地该文件夹的路径
    # git remote add 远程仓库名字  远程仓库地址
	git remote add origin https://gitee.com/liuqingzheng/lqz.git
	git push origin master  # 把本地仓库中所有的内容,提交到远程仓库
    # 弹出框,要求输入用户名和密码(之前输入过,保存了)
    win:在控制面板的凭据管理中
    mac:在钥匙串中
    # 本地仓库代码就会被推送到远端了

"""
1)查看仓库已配置的远程源
>: git remote
>: git remote -v  显示所有远程仓库

2)查看remote命令帮助文档
>: git remote -h

3)删除远程源
>: git remote remove 源名
eg: git remote remove origin

4)添加远程源
>: git remote add 源名 源地址
>: git remote add orgin http://192.168.1.252/Yma/apple.git

5)提交代码到远程源
>: git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号
git push <远程主机名> <本地分支名>
eg:git push origin master

6)克隆远程源
>: git clone 远程源地址
"""

"""
1)通过克隆方式连接远程源,默认远程源名就叫origin;所以主动添加远程源来连接远程仓库,源码也用origin
2)本地一个仓库只需要和远程一个源进行同步,所以只需要连接一个远程源,如果还想把本地代码同步给第三个平台,那么可以通过主动添加远程源来连接第三个平台的远程仓库,此时的源码就不能再叫origin了,比如online都可以
3)pull和push都可以提供选择不同的源码,和不同的远程仓库交互
"""

3 ssh方式链接远程仓库

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

# 加密方式
-对称:AES,DES
-非对称:

# 公司里,常用ssh协议方式推送代码
-git@gitee.com:liuqingzheng/lqz.git
-它不需要用户名密码,而需要:公钥私钥【非对称加密】
-在本地机器生成公钥[可以给任何人]和私钥[自己留着]
    
    
# 具体操作
-1 先删除原来使用https链接的remote
-2 增加一个跟远程仓库的链接 origin ---》是ssh协议的
    	git remote add origin git@gitee.com:liuqingzheng/lqz.git
-3 本地机器,生成公钥私钥[使用命令生成]
    	-https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE
    	-打开cmd 执行 ,一路回车
        	ssh-keygen -t ed25519 -C "306334678@qq.com"
        - 用户家路径,生成 .ssh文件夹,里面有公钥和私钥
- 4 把公钥配置在gitee上【打开公钥】--》可以配多个
		-https://gitee.com/profile/sshkeys
    
-5 以后放心大胆的
    	git push origin master # 提交代码即可
    
    
# 你在公司中
-1 用gitlab,可能你自己注册账号,也可能别人直接给你注册号了,你直接登录,修改密码即可
-2 登录gitlab能看到代码仓库,仓库的所有者[你们领导],会把你加成这个仓库的【开发者】
-3 基于这个仓库继续开发,提交代码
-4 ssh方案:本地生成公钥私钥【本地有了,就不用重新生成了】
-5 把公钥,配置在自己的gitlab账号里面
-6 以后就免密对仓库有操作权限了
    

4 协同开发

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

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

# git clone 地址

# 加代码,提交到暂存区,提交到本地版本库---》拉去代码[可能会有冲突]---》推送到远程

4.1 多人协同开发

1 从远端克隆代码

2 进到文件夹中,改东西

3 git add .

4 git commit -m '改了一行'

5 git pull origin master  # 拉去仓库中最新的代码   否则提交不了

6 git push origin master


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

5 冲突解决

# 出现冲突的原因
-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
    
'''
提示:您有偏离的分支,需要指定如何调和它们。您可以在执行下一次
提示:pull 操作之前执行下面一条命令来抑制本消息:
提示:
提示:  git config pull.rebase false  # 合并
提示:  git config pull.rebase true   # 变基
提示:  git config pull.ff only       # 仅快进
提示:
提示:您可以将 "git config" 替换为 "git config --global" 以便为所有仓库设置
提示:缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,
提示:或者 --ff-only 参数覆盖缺省设置。
'''    
   
    
# 大原则,多人同一分支开发,如果尽量避免冲突,要不停的拉去代码





# 2 分支合并出冲突
	  # 新建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 
    
    
    
    
   
    

作业

# git 多分支
# 2 配好远程仓库
# 3 ssh方式链接
# 4 你跟同桌俩人用一个仓库区制造冲突,然后解决
# 5 分支合并冲突,解决
-------
以上远程操控操作,使用gitlab

posted @ 2023-06-20 20:53  雀雀飞了  阅读(27)  评论(0编辑  收藏  举报