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

发布时间 2023-10-11 19:56:55作者: 别管鱼油我了

git分支

 命令操作分支

  1、创建分支

    git branch dev

  2、查看分支

    git branch

  3、分支合并(常用)

    git merge dev   #需要在master分支上合并dev

  4、删除分支

    git branch -d 分支名   (不能在当前分支,删除当前分支)

  5、分支切换

    git checkout 分支名     (在切换分支时,一定要保证所以文件都提交到本地了)

 

git远程仓库

 github  gitlab  gitee

远程仓库以gitee为例,这里将luffy_api提交到远程仓库

远程仓库是空的:

  1、在gitee上创建了仓库(确保仓库是空的)

  2、本地:给git init

  3、本地 git commit -m 提交版本

  4、指定远程仓库地址

    添加一个远程仓库,名字叫origin 地址是 后面地址

      git remote add origin https://gitee.com/liuqingzheng/luffy_api.git

  5、推送到远端

      git push  origin master

      会弹出让输入用户名和密码(gitee的用户名和密码)

 

远程仓库有东西的情况

  1、本地先不做仓库-->.git  删除

  2、找个位置,把远程仓库内容下载

    git clone https://gitee.com/liuqingzheng/luffy_api.git(后面是地址)

  3、把我没写好的代码,复制到这个文件夹下

  4、提交到本地仓库git add .   git commit -m

  5、推送到远程仓库

    git push origin master

 

本地还没有开始写代码,远程建仓库(有东西)

  把远程仓库下载下来,用pycharm打开,写代码--本地提交--提交到远程

  现在公司里有个项目,写了很多代码,也用版本管理了

    远程仓库一定是空的

    本地的不要删--->直接提交到远程--->远程也有之前的管理版本

 

在公司,这些都不需要做,创建仓库,提交初始化的代码都是领导写好的

  只需要从远程仓库下载代码 :git clone

   用pycharm打开,继续写,提交即可

 

普通开发者,使用流程

1 领导会把你的账户添加为开发者

 2 下载代码到本地--》在这个基础上开发

   方式一  命令:git clone https://gitee.com/liuqingzheng/luffy_api.git

   方式二  使用pycharm下载

      先配置git

   方式三  下载zip,下载后使用pycharm打开

3、使用pycharm打开

  写代码,提交到本地仓库

  提交到远程仓库

 

ssh方式连接远程仓库

以上提交,拉取代码 都是走的https协议

公司内部,一般会走 ssh协议,以后不需要用户名密码了,只需要ssh的公钥和私钥

 

操作步骤

  1、生成公钥私钥

    https://gitee.com/help/articles/4181#article-header0

    ssh-keygen -t ed25519 -C "306334678@qq.com"  

 

2、用户家路径,生成的公钥和私钥
  -C:\Users\Administrator\.ssh

 3 、复制你的公钥,配置在gitee上

    -设置---》添加ssh公钥,把公钥粘贴,确定

 4、以后,再操作git,不需要用户名密码了(走的是公钥和私钥)---》只针对于你这台机器

5、把远程仓库的连接,修改成ssh协议

  # 把原来的remote的对应关系删除

  git remote remove origin

  新增一个对应关系,协议是ssh

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

6 、以后本地改了代码,提交到本地版本库,想推送到远程仓库,直接 git push即可,不需要再输入用户名密了

 

总结:你们到公司后,使用git流程

  1 、注册个账户---》gitlab---》(有可能右同时给你注册了,密码得改)

  2 、领导会把你加成开发者

  3、进入到你的家里,你就能看到这个项目了

  4、项目clone到本地    

    https方式:git clone https://gitee.com/liuqingzheng/luffy_api.git
    ssh方式:git clone git@gitee.com:liuqingzheng/luffy_api.git

  5、在本地生成公钥私钥,把公钥配置在gitlab

  6、以后,在pycharm中打开项目写功能,提交到本地,提交到远端即可

 

协同开发

 

避免冲突

如果你想避免冲突,勤拉取代码

张三:改了 settings.py  第一行,提交了

李四:改了 settings.py 第二行,提交了

你也在改setting.py ,没有拉取代码,不知道他们提交了,动了第二行,但是跟李四代码不一样
你要提交,必须先拉取,一拉,把张三的,李四的都会加到你代码中,就会出冲突

协同开发

第一个问题:

  git clone 项目

  pycharm打开

  写代码:在__init__.py写入代码

  git add .   #  当前目录下有个venv文件夹--》删除这个文件夹

  git commit -m 'ss' 

  git push origin master      # 推不上去 需要先拉下来 git pull origin master

 

第二个问题:

  在pycharm中改代码
  改的不是同一个文件

  git add .

  git commit -m 'sasdfasd'

  git pull origin master  # 由于我们改了不是同一个文件,不会冲突

  git push origin master  # 把自己的推上去即可

  

  

冲突解决

多人在同一分支开发

  第一个问题:  

    git clone 项目
    pycharm打开

    写代码:(随便的一个文件)__init__.py ,第五行,改成 print('阿斯顿发送到发')

    git add . #  当前目录下有个venv文件夹--》删除这个文件夹

     git commit -m 'ss'

    git push origin master  # 推不上去  git pull origin master

  

  第二个问题:

    在pycharm中改代码

    改的是同一个文件,不同行   print('aaa')

    git add .

    git commit -m 'sasdfasd'

    git pull origin master  # 由于我们改了是同一个文件,会冲突

    

<<<<<<< HEAD # 下面是我的代码
print('asdfasdfads')
======= # 下面是别人代码
print('tang')

>>>>>>> 2174bd1a466536dda553ba3835cfd9768ae32be0 # 别人代码的版本号

 

  删除报错,看代码,如果改的一样,就留别人的,把自己的代码删除

  git add .

  git commit -m
  git push origin master

 

合并分支

 操作步骤(举例)

  git branch dev      #创建分支

  # 在dev分支操作

  git checkout dev  #转到分支dev下

  在settings.py最后写代码    #举例

  git add.    #转到缓存区

  git commit -m 'dev加代码'  #提交到本地

   # 在master分支操作  

  git checkout master  #转到master

  在settings.py最后写代码  #举例

   git add.  #提交缓存区

  git commit -m 'master加代码'   #提交本地

 

合并分支出冲突

  git merge dev  # 出冲突了,解决冲突,再提交

   git add .

   git commit -m