首页 > 其他分享 >luffy__05days

luffy__05days

时间:2024-01-23 15:47:31浏览次数:20  
标签:__ git 仓库 gitee --- 本地 luffy 05days 分支

前节回顾

#1 git 是什么
    - 协同开发---》多人开发同一个项目,代码合并
    - 版本管理---》文件版本管理
    -软件:分布式的版本管理
    
    -svn:集中式版本管理
        必须借助于服务端,每个人用客户端
# 2 安装
    -win:一路下一步
        -右键--》git bash here--》linux命令
        -ls
        -mkdir
        -touch # 创建一个文件或修改文件的修改时间
        -cd   #切换到某个目录下
    -mac:xx.dmg ,双击安装
        -打开命令行
    -命令行中:    
        git -v #顺利看到版本,表明安装成功
        
# 3 git  github gitlab  gitee区别

# 4 git 工作流程
    -工作区:目录,仓库,对文件进行操作
    -暂存区:工作区变更提交到暂存区
        改一个功能--》改了好几个文件---》不要add 与这个功能无关的文件
    -版本库:把暂存区内容提交到版本库
    
# 5 git常用命令
    -git init  # 初始化
    -git status  # 查看仓库状态
    - 设置账号和邮箱
    git config --global user.name "liuqingzheng"
    git config --global user.email "[email protected]"
    -git add 文件
    -git commit -m '注释'  # 提交到版本库---》本地的
    
    -查看日志
        git log
        git reflog
    ------------------------------------------------
    -git checkout .               # 工作区回退,
    -git reset HEAD                #暂存区回退
    -版本库拉回到暂存区:git reset --soft 上一个版本号
    -版本库拉回到工作区 git rest --mix 上一个版本号
    -本地版本回退:git rest --hard 回退的版本号
    
# 6 忽略文件
    -一个仓库中,有些文件或文件夹,不希望被版本管理
    -仓库目录下新建 .gitignore

# 7 分支操作
    -查看:git branch  # 谁是绿色在谁身上, 身上有个 *
    -创建:
        git branch 分支名 # 创建完,不会切过去
        git checkout -b 分支名
    -切换
        git checkout 分支名 
    -删除
        git branch -d 分支名
    -合并
        git merge 分支   # 把分支合并到当前分支
        
        
# 8 远程仓库
    -github,gitlab,gitee
    
    -在gitee创建账号---》新建仓库--》把本地仓库内容,提交到远端
        -空仓库
    
    -本地仓库跟远程空仓库建立链接
        -git remote add   origin https://gitee.com/liuqingzheng/lqz2.git
        -git  远端   增加  别名   地址
        
    -本地版本推导远端
        git push origin master
        git  推   地址   远端的master     把本地当前分支

 





今日内容

ssh链接远程仓库

 远程仓库命令

# git remote add   新增远程仓库

# 远程仓库命令
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 https://gitee.com/liuqingzheng/app01.git

5)提交代码到远程源(以后会经常用)
>: git push 源名 分支名

6)克隆远程源(以后会经常用)
>: git clone 远程源地址

7)从远程仓库拉去代码(以后会经常用)
>: git pull 源名 分支名

使用ssh链接远程仓库

# 之前咱们添加远程仓库,地址是 http开头的,使用的是http链接远程仓库
# 输入了用户名和密码---》记录在操作系统本地---》以后就不用在输入用户名密码了
    git remote add orgin https://gitee.com/liuqingzheng/app01.git
    
    
# 咱们要学习---》ssh方案---》不需要输入用户名密码了---》公钥私钥认证方式
    -本地机器 保留  私钥
    -在远程仓库配置  公钥
    -远程仓库地址,就不是http的了,而是
    [email protected]:liuqingzheng/lqz2.git#ssh方案,需要公钥私钥
    https://gitee.com/liuqingzheng/lqz2.git # http/https方案,用户名密码
    
    
    
#如何生成公钥私钥---》所有操作系统都支持这个操作
# https://help.gitee.com/enterprise/code-manage/%E6%9D%83%E9%99%90%E4%B8%8E%E8%AE%BE%E7%BD%AE/%E9%83%A8%E7%BD%B2%E5%85%AC%E9%92%A5%E7%AE%A1%E7%90%86/%E7%94%9F%E6%88%90%E6%88%96%E6%B7%BB%E5%8A%A0SSH%E5%85%AC%E9%92%A5#article-header0

# 操作步骤
    1 cmd/git bash here 命令窗口中执行
    ssh-keygen -t ed25519 -C "[email protected]"
    2 在操作系统用户--家路径--》.ssh文件夹---》公钥私钥
        id_ed25519.pub # 公钥--》给别人
        id_ed25519 # 私钥---》自己留着
    3 去gitee配置公钥
        https://gitee.com/profile/sshkeys
        
        ssh -T [email protected]  # 输入yes
    4 以后可以免密操作
    
    5 增加一个远程仓库地址:指定是ssh链接
        git remote add origin [email protected]:liuqingzheng/lqz2.git
    
    6 把代码推送到远端
        git push origin master
    
    
    
### 以后用https还是ssh呢?
    -公司里用ssh居多
    
# 公司中你们的使用流程
    1 要么自己注册,公司给你注册好了---》账号密码和gitee地址
    2 登录到gitee上,能看到一个项目(别人创建的,但你是开发者,你能看到)
        2.1 本地生成ssh公钥和私钥--->把公钥配置在gitlab
        2.2 继续后续操作
    3 把代码拉取到本地(已经配置好了ssh公钥和私钥)
        git clone [email protected]:liuqingzheng/lqz2.git
    4 修改代码,加代码
    5 本地提交
    6 推送到远端
    
    
    
    
    
    
    
    
    
# 补充:加密
    -0 编码:
        base64 
        url编码和解码
    -1 摘要算法
        md5
        sha1
    -3 对称加密
        加密和解密使用同样的秘钥
        DES
        3des
        aes
    -4 非对称加密
        加密使用一个秘钥,解密使用另一个秘钥:公钥和私钥
        公钥加密---》私钥解密
        RSA
        DSA

协同开发

 本地代码推送到远程仓库--->你是项目创建者

# 多人合作开发一个项目---》luffy_api

# 本地放到远端  本地项目还没创建仓库
    -1 远程仓库是空的
    
    
    -2 远程仓库不是空(对钩可以点了)
    
    
# 远程仓库不为空的操作步骤
    -1 远端创建一个不为空的仓库
    -2 在本地拉取
    git clone [email protected]:liuqingzheng/luffy_api.git
    -3 在拉取的仓库中加代码(我们直接复制过来的)
    -4 写好忽略文件
    -5 git add .
    -6 git commie -m '我的第一次'
    -7 git push origin master
    
    -8 以后都开发当时拉下来这个文件夹
    
    
    
#####注意:#####
    如果某个文件或文件夹已经被版本管理了,后期再设置忽略,就无效了
    -如何让它再被忽略呢?
        -把这个文件删除后,以后就被忽略了

 







本地拉取代码--》你是项目参与者--》大概率都是这个角色

# 1 git clone 到本地---
    -有代码,项目也能运行
    -git clone [email protected]:liuqingzheng/luffy_api.git
# 2 使用pycharm打开项目

# 3 本地运行项目(选解释器-创建虚拟环境-根据 requirements.txt 安装依赖---本地数据库链接配置好)
    mkvirtualenv -p python38 luffy001
    pip install -r requirements.txt
# 4 开发代码,本地提交--》推到远端

协同开发演示

# 第一个人
# 1 组长,把你加成开发者
    git clone https://gitee.com/liuqingzheng/luffy_api.git
    
# 2 使用pycharm打开

# 3 git 操作
    修改 user 的app下 __init__.py,写入
    print("hello world")
    git add .
    git commit -m ''
    git push origin master
------先提交的----


# 第二个人
# 1 拉取(本地早就有)
    git clone https://gitee.com/liuqingzheng/luffy_api.git
    
# 2 使用pycharm打开

# 3 git 操作
    修改 user 的app下 __init__.py,写入
    print("lqz")
    git add .
    git commit -m ''
    git push origin master
    # 不允许提交---》跨版本了
    git pull origin master  # 拉取远端和本地保持一致
    # 我出冲突了,解决冲突
    # 再提交
    git add .
    git commit -m '处理问题'
    git push origin master

 




冲突解决

# 什么情况会出现冲突---》协同开发
-1 多人在同一分支开发出现的冲突
-2 分支合并出现冲突

 

 

 

 

 

 

 

分支合并出冲突

# 1 创建dev分支
# 2 创建bug分支
# 3 在bug分支修改 settings.py--->数据库链接  改成localhost
# 4 合并进主分支---》没有冲突

# 5 dev分支开发,新增一个xx.py 文件---》提交到版本库
# 6 settings.py--->数据库链接  改成localhost---》提交到版本库
# 7 跟主分支合并--》出冲突---》解决冲突


###冲突的样子
<<<<<<< HEAD
print('sssssl')
=======
print('lsssss')
>>>>>>> dev

 






多人在同一分支开发出现冲突

 
# 张三:
    git pull origin master
    xx.py 第四行加入 print('张三')
    git add .
    git commit -m '加了张三'
    git push origin master
    
    
    
# 我
# 如果我pull,在最新的基础上,写,不会出冲突
 git pull origin master
# 我没有pull,尽管写---》写了同一个位置,pull下来就会冲突
解决冲突,重新提交
<<<<<<< HEAD
print("lqz")
=======
print('hello world')
# 不分工程分包
>>>>>>> a48c6510d7097240fa69bbea4ff0658b60768dea

线上分支合并

# 之前学过,本地分支合并
git merge 分支名

# 学习直接在线上合并分支


#####本地和线上分支同步################
#### 远程创建分支,拉取到本地####
    -远程创建分支,拉取到本地
        -点点点创建
    -在本地执行:
        git pull origin  # 拉下来,但是看不到,只有切进去才能看到
        git checkout bug
        
###### 本地创建,推送到远端#####
    -本地创建分支
        git branch dev
        git checkout dev # 切到dev分支
        git push origin dev # 把本地当前分支,推动到远端dev分支
        

        
        
### 线上分支合并
    -在本地dev分支加入xx.py 加入 一句话
    -推送到远端 dev分支
    -在远端 把dev合并进master
    
    
# 你提合并请求---》你领导审核代码---》同一---》你才合进来


    
 ####  commit 的时候,单引号和双引号有区别#####

 




pycharm使用git

 

 

 

 

 

 

 

 

 

 

 

为开源项目贡献代码

 

# 1 看到开源代码
# 2 fork---》在你的仓库中就看到了这个项目
# 3 clone下来,修改代码
# 4 推送到自己的仓库汇总
# 5 提交pr pull request
# 6 等待作者审核---》审核过了,同一了---》跟线上分支合并一样

 

标签:__,git,仓库,gitee,---,本地,luffy,05days,分支
From: https://www.cnblogs.com/wzh366/p/17982605

相关文章

  • AI_NLP以及DETR的理解-目标检测模型
    目标检测框架CNNbased以及Transformerbased。01.CNNbased通常又可以划分为以FasterRCNN和RetinaNet为代表 和以YOLO系列为代表阈值筛选(Confidencethreshold)和非极大值抑制(NMS)处理两个关键步骤02.Transformerbased目标检测:DETR......
  • vue-helper 点击跳转插件 在 methods里面互相调用函数,会产生两个函数definitions ,然后
    vue-helper点击跳转插件在methods里面互相调用函数,会产生两个函数definitions,然后就回弹出框让你选择原因:换了台电脑,又从新配置下vscode"editor.gotoLocation.multipleTypeDefinitions":"goto","editor.gotoLocation.multipleReferences":"goto","editor.got......
  • 代理对象执行私有方法导致注入的属性为null
    代码如下:@ServicepublicclassPerformanceServiceImplimplementsIPerformanceService{privatefinalstaticLoggerlogger=LoggerFactory.getLogger(PerformanceServiceImpl.class);@ResourcePerformanceDaoperformanceDao;@Override......
  • 【习题】2.4
    [T020401]求微分方程的通解\(y'^2=4y^3(1-y)\).    解将方程化为\(y'=\pm2\sqrt{y^3(1-y)}\),当\(y\neq0,1\)时,\(\frac{1}{2y^2\sqrt{\frac1y-1}}\mathrmdy=\pm\mathrmdx\),两边积分可得\(-\left(\frac1y-1\right)^{1/2}=\pmx+c\),从而原方程的通解为......
  • 分布图最短路径算法比较
    用户维护好仓区的点和线,生成分布图时,用户任意选取两个点,后端求出当前最短路径。假设图G(m,n),m个顶点,n条边算法对比:floyd算法时间复杂度o(m3)缺点:时间复杂度过高dijkstra算法时间复杂度o(m2),使用优先队列可以降到o(m*logm)邻接矩阵存储:适合稠密图邻接表存储:适合稀疏图缺点:不适......
  • laravel collect结果集group分组合并数据
    1、需求将相同apply_id的apply_remark用;拼接$r=[['apply_id'=>1,'apply_remark'=>'xxx'],['apply_id'=>1,'apply_remark'=>'xxx2'],['apply_id'=>2......
  • vscode的配置文件
    vscode的配置文件总述:vscode中一般会在项目文件夹下自动生成.vscode文件夹,其中存放若干配置文件(.json),一般有如下文件:下面将解释每个文件的用途与表现。1.c_cpp_propertries.json这个文件是使用vscode进行C++开发时会产生的文件,非C++用户可以直接跳过。其内容大致如下:{......
  • 域用户设置壁纸后出现黑壁纸问题
    前言当域环境下设置统一壁纸后,可能由于断网或者组策略同步等一些列问题,导致桌面壁纸黑屏,此后桌面会一直保持黑色背景状态,除非组策略下更改其他壁纸,这样才会恢复正常。那有没有其他便捷的方法而不用更改组策略呢?删除壁纸缓存del%USERPROFILE%\AppData\Roaming\Microsoft\Wind......
  • vulnhub-symfonos(环境变量提权)
    环境准备:靶机-192.168.0.110攻击机-192.168.0.128演示:首先nmap探测网段。 打开网站发现为一张图片没别的内容使用smbclient探测445端口内容 smbclient-L192.168.0.110-L:显示服务器端所分享出来的所有资源发现存在helios用户,和anonymous,先访问下匿名用户资源s......
  • git 查看某一文件的修改记录
    要查看某一文件的修改记录,可以使用以下命令: ```gitlog<文件路径>``` 例如,要查看文件`index.html`的修改记录,可以使用以下命令: ```gitlogindex.html```  这将显示该文件的所有提交记录,包括提交的作者、日期和提交消息。你可以使用上下箭头浏览记录,并按......