git多分支、git远程仓库、ssh方式连接远程仓库、协同开发、冲突解决
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)