GItee多分支、远程仓库、冲突解决

发布时间 2023-11-21 09:36:56作者: Way*yy

git多分支操作

# 分支操作:
    -1、查看分支:
        git branch # 查看本地
        git branch -a # 查看本地以及远程
    -2、创建分支:
    	git branch 分支名字
    -3、切换分支:
    	git checkout 分支名字
    -4、删除分支:
    	git branch -d 分支名字
        
    -5、合并分支:
        -创建分支:
        	git branch dev
        -切换分支:
        	git checkout dev
        新增一个xx.txt文件
        git add .
        git commit -m '新增了一个文件'
        修改s.txt文件,加入一句话
        git add .
        git commit -m '修改了s.txt'
        
        
    # 切回到主分支(增加的东西都会没有)
    	# 新增的文件也看不到
    # 把dev合并到master上面,在master分支执行:
    	git merge dev
        
    # 主分支就会和dev分支一样了

远程仓库

# 协同开发,代码要提交到远程仓库,可以使用gitee,github,gitlab,本文以gitee为例
    -1、以gitee为例,注册账号
    -2、在账号中,新建一个仓库 [本地仓库,推送到远程仓库]
    -3、如图所示  ---->[如果创建远程仓库不是空的,就会有问题]
    -4、本地仓库,推到远端
操作远程仓库的命令:
    -1、git remote 查看有哪些远程仓库
    -2、git remote remove origin 删除本地跟远程的链接关系
    -3、git remote add 远程仓库的名字 远程仓库的地址
    -4、git push origin master 把本地仓库中的所有内容提交到远程仓库
    -5、git clone 远程仓库地址 将该仓库的文件下载到当前位置
    -6、git pull origin master 拉取最新代码
    

    
连接远程仓库有两种情况:
	1、当远程仓库中有东西的情况
        -1、本地先不做仓库---->将.git删除
        -2、找个位置先将远程仓库的内容下载下来:
        	git clone 远程仓库的地址
        -3、将我们自己的文件复制到这个文件夹下面 
        -4、提交到本地仓库
        	git add .  git commit -m '注释'
        -5、推送到远程仓库
        	git push origin master 
            
    2、远程仓库中没有任何东西,是一个空仓库的情况
        -1、在本地初始化一个仓库的
        -2、东西写好以后,提交到本地仓库
        	git add .  git commit -m '注释'
        -3、推送到远端仓库
            git remote add origin 仓库的地址
            git push  origin master

SSH方式连接远程仓库

之前拉取代码走的是https协议,现在改为SSH协议

操作步骤:
	-1、生成公钥私钥  参考链接:https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE
    	ssh-keygen -t ed25519 -C "Gitee SSH Key"
    -2、在用户家目录下会生成一个.ssh的文件夹,里面放着公钥是私钥
    -3、复制公钥,配置到Gitee上面
    	-设置--->添加ssh公钥,把公钥粘贴,确定
    -4、以后,再操作git,不需要用户名密码了(走的是公钥和私钥)--->只针对于你这台机器
    -5、把远程仓库的链接,修改为ssh协议
        使用:git remote remove origin 删除原来的对应关系
        新增一个对应关系,使用SSH协议
        git remote add origin ssh协议链接
    -6 以后本地改了代码,提交到本地版本库,想推送到远程仓库,直接 git push即可,不需要再输入用户名密了

协同开发

冲突解决

当我们使用协同开发的时候,两个及以上的人在同一处修改了代码就会有可能出现冲突问题

冲突显示:
    <<<<<<< HEAD   # 下面是我的代码
    print('asdfasdfads')
    =======   # 下面是别人代码
    print('tang')

    >>>>>>> 2174bd1a466536dda553ba3835cfd9768ae32be0 # 别人代码的版本号
    
    
解决冲突:
	将 <<<<<<< HEAD、=======、>>>>>>> 2174bd1a466536dda553ba3835cfd9768ae32be0删除掉
    看一看代码修改的地方是否一样,如果一样将自己的代码删除重新执行推送命令即可

合并冲突

# 操作步骤
	git branch dev
    # 在dev分支操作
    git checkout dev
    在settings.py最后写代码
    git add.
    git commit -m 'dev加代码'
    # 在master分支操作
    git checkout master
    在settings.py最后写代码
    git add.
    git commit -m 'master加代码'
    
    # 合并分支出冲突
    git merge dev  # 出冲突了,解决冲突,再提交
    git add .
    git commit -m