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