当前位置:   article > 正文

Git初步了解_http.sslverify

http.sslverify

1.git源代码管理

  1. 思考:如何多人协同开发同一个项目?
  2. Git是目前世界上最先进的分布式版本控制系统(没有之一)
  3. 作用:源代码管理
  4. 为什么要进行源代码管理?
    1. 方便多人协同开发
    2. 方便版本控制
  5. Git诞生:
    1. 作者是Linux之父
    2. 当初开发Git仅仅是为了辅助Linux内核的开发(管理源代码)
    3. GitHub为开源免费项目提供Git存储
  6. Git管理源代码的特点:
    1. Git是分布式管理,服务器和客户端都有版本控制能力,都能进行代码提交,合并
    2. Git会在根目录下创建一个**.git**隐藏文件夹,作为本地代码仓库
    3. 在这里插入图片描述

2.Git单人本地仓库操作

  1. 安装git
sudo apt-get install git

  • 1
  • 2
  1. 查看安装结果
git
  • 1
  1. 创建项目文件 test
  2. 创建本地仓库
    1. 进入test,并创建本地仓库 .git
    2. 新创建的本地仓库. .git是个空仓库
  3. git初始化
git init
  • 1
  1. 配置仓库用户名与邮箱
    1. 默认不配置的话,会使用全局配置里面的用户名和邮箱
    2. 全局git配置文件路径:~/.gitconfig
git config user.name 用户名
git config user.email 提交邮箱
  • 1
  • 2
  1. 在项目文件创建py文件–login.py
  2. 查看文件状态
    1. 红色代表新建文件或新修改的文件,都在工作区
    2. 绿色代表文件在暂存区
  3. 查看文件状态
git status
  • 1
  1. 跟踪文件(将文件提交到暂存区)
git add 文件名(.代表当前所有文件)
  • 1
  1. 将修改内容放到暂存区(可以回退)
git add login.py
  • 1
  1. 将暂存区内容提交到仓库区(commit会生成一条版本记录)
git commit -m '版本描述'
  • 1
  1. 查看文件内容
cat login.py
  • 1
  1. 查看日志
git log
查看所有版本信息
git reflog
  • 1
  • 2
  • 3
  1. 版本回退
git reset --hard(强制性) HEAD^(^表示当前版本的前一个版本)
HEAD 表示当前最新版本
HEAD^ 表示当前版本的前一个版本
HEAD^^表示当前版本的前两个版本
HEAD^1表示前1个版本
HEAD^10表示前10个版本
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 回退到指定版本
git reset --hard c194322(版本号)
  • 1

2.撤销工作区,暂存区代码

  1. 撤销修改

    1. 只能撤销工作区,暂存区代码,不能撤销仓库区代码
    2. 撤销仓库区代码相当于回退版本操作
    3. 撤销工作区代码
  2. 撤销暂存区代码‘

git reset HEAD login.py(文件名)
  • 1
  1. 撤销工作区代码(回到前一次工作区)
git checkout 文件名
  • 1

3.Git远程仓库GitHub

GitHub网站作为远程代码仓库时的操作和本地代码仓库一样的,只是仓库位置不同而已
GitHub–Add .gitignore:忽略文件是我们在写代码过程中(运行过程中)本地的一些文件,不需要提交到服务器进行代码管理
GitHub–Add a license: 多人开发协议,一般为MIT

在这里插入图片描述

  1. 远程仓库克隆到本地
#1.复制远程仓库地址
#2.cd 到项目文件
#3.执行
git clone 仓库地址
#4.在仓库文件中创建项目,其余与本地仓库操作一致,实现的也是对本地仓库的操作
#5.推送到远程仓库 git push
#其中:
	warning: push.default 尚未设置,它的默认值在 Git 2.0 已从 'matching'
	变更为 'simple'。若要不再显示本信息并保持传统习惯,进行如下设置:
	
	  git config --global push.default matching
	
	若要不再显示本信息并从现在开始采用新的使用习惯,设置:
	
	  git config --global push.default simple
	
	当 push.default 设置为 'matching' 后,git 将推送和远程同名的所有
	本地分支。
	
	从 Git 2.0 开始,Git 默认采用更为保守的 'simple' 模式,只推送当前
	分支到远程关联的同名分支,即 'git push' 推送当前分支。
	
	参见 'git help config' 并查找 'push.default' 以获取更多信息。
	('simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,
	为保持兼容,请用 'current' 代替 'simple'#执行
sudo git config --global push.default simple
	
#其中
	remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
	remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
	fatal: Authentication failed for 'https://github.com/wphnb/Git_test.git/'

设置自己的token,用token代替密码

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

个人token设置

  1. 在家修改公司的文件及在公司继续家里的项目
    1. 复制远程仓库地址(限没有此仓库的本地仓库的适用)
    2. 克隆仓库到本地 (限没有此仓库的本地仓库的适用)
git clone 仓库地址
  • 1
		3. 对项目进行修改
			1. 非第一次克隆
			2. 需执行 git pull
		4. 提交项目
  • 1
  • 2
  • 3
  • 4

4.多人协同操作

  1. 文件
.git --> 源代码仓库
LICENSE-->权限
.gitignore-->忽略文件
  • 1
  • 2
  • 3
  1. 配置经理身份信息
cd 克隆的文件位置
git config user.name '经理'
git config user.email 'manager@163.com'
  • 1
  • 2
  • 3
  1. 配置用户身份信息
git config user.name '张三'
git config user.email 'zhangsan@163.com'
  • 1
  • 2
  1. 提交报错
git push报错:
 fatal: unable to access 'https://github.com/.../.git': Could not resolve host: github.com
设置了:
git config --global http.sslVerify “false”
报错:
fatal: 配置变量 'http.sslverify' 的数字取值 '“false”' 设置错误: invalid unit
执行:
git config --global --edit
删除 sslVerify = “false” 保存退出
git push 成功!

可以在.git中config文件中的url添加用户名与token解决报错
http://用户名:token@github.com/wphnb/仓库名.git

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  1. 总结
    1. 要使用git命令操作仓库,需要进入仓库内部
    2. 要同步服务器代码就执行 : git pull
    3. 本地仓库记录版本就执行: git commit -m ‘版本描述’
    4. 推送到服务器就执行: git push
    5. 编辑代码前先pul ,编辑完再commit ,最后推送是push

5.协同开发冲突

  1. 提示:多人开发避免不了出现代码冲突
  2. 原因:多人同时修改了同一个文件
  3. 冲突描述:
    1. 经理修改了login.py文件,造成git远程仓库有最新代码,张三在操作login.py文件时时没有pull ,自己新加的代码与经理的代码有冲突
  4. 解决:
    1. 原则:谁冲突谁解决,并且一定要协商解决.
    2. 方案:保留所有代码 或者 某一人代码
    3. 解决完冲突代码后,依然要add,commit,push
  5. 危害:
    1. 会影响正常的开发进度
  6. 容易冲突的操作方式:
    1. 多人同时操作了同一个文件
    2. 一个人一直写不提交
    3. 修改之前不更新代码
    4. 提交之前不更新最新代码
    5. 擅自修改同事代码
  7. 减少冲突的操作方式:
    1. 养成良好的操作习惯,先pull在修改,修改完立即commit,和push
    2. 一定要确保自己正在修改的文件是最新的
    3. 各自开发各自的模块
    4. 如果要修改公共文件,一定要先确认有没有人正在修改
    5. 下班前一定要提交代码,上班第一件事就是pull最新代码
    6. 一定不要擅自修改同事的代码

6.分支

在这里插入图片描述

  1. 作用:
    1. 区分生产环境代码以及开发环境代码
    2. 研究新的功能 或者 攻关难题
    3. 解决线上bug
  2. 特点:
    1. 项目开发中公用分支master,dev
    2. 分支master是默认分支,用于发布,当需要发布时将dev分支合并到master分支
    3. 分支dev是用于开发的分支,开发完阶段性的代码后,需要合并到master分支
  3. 涉及操作
#查看分支
git branch
#创建分支
git checkout -b pay  # 切换到一个新分支 'pay'
#切换分支
git checkout 分支名
#不同的分支,在提交后是互相看不见的
#合并分支(必须在主分支里)
git merge pay
#删除分支
 git branch -D merge
 #分支修改推送到服务器
 git push --set-upstream origin 分支名
 或者
 git push -u origin  order


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

7.配置SSH

  1. 选择SSH操作

  2. 在这里插入图片描述

  3. 如果某台电脑需要和GitHub上的仓库交互,那就把这台电脑的SSH公匙添加到这个GItHub账户上

  4. 配置SSH公匙入口

  5. 在这里插入图片描述

  6. 在这里插入图片描述

  7. 在这里插入图片描述

  8. 删除旧的密匙:

    1. 删除 ~/.ssh 目录, rm -r .ssh
  9. ssh操作报错

    1. 问题:在这里插入图片描述

    2. 解决:解决



  • 要想吃的饱,你得多动脑
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/208132
推荐阅读
相关标签
  

闽ICP备14008679号