开发知识点-Git

团队协作-Git

Gitee

Git Gitee

大家都知道国内访问 Github 速度比较慢,很影响我们的使用。

如果你希望体验到 Git 飞一般的速度,

可以使用国内的 Git 托管服务------Gitee(gitee.com)。

Gitee 提供免费的 Git 仓库,

还集成了代码质量检测、项目演示等功能。

对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务,5 人以下小团队免费。

接下来我们学习一下如何使用 Gitee。

gitee 创建仓库

打开项目所在目录,右键选择Git Bush Here(你要确定电脑上已经安装了Git)

初始化本地仓库

go 复制代码
$ git init  
初始化一个git仓库
Initialized empty Git repository in D:/phpstudy_pro/WWW/MAN/

$ git add *
将文件添加到暂存区
warning: LF will be replaced by CRLF in LICENSE.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in babel.config.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in config/plugin.config.js.
The file will have its original line endings in your working directory



$ git status 
未被git追踪 的文件
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   LICENSE
        new file:   README.md
        new file:   babel.config.js
        new file:   config/plugin.config.js
        new file:   config/themePluginConfig.js


$ git commit -m  "shoper in book"
提交暂存区文件到本地仓库中
[master (root-commit) 52bca8d] shoper in book
 760 files changed, 184535 insertions(+)
 create mode 100644 LICENSE
 create mode 100644 README.md
 create mode 100644 babel.config.js
 create mode 100644 config/plugin.config.js


  

由于我们的本地 Git 仓库和 Gitee 仓库之间的传输是通过SSH加密的

配置验证信息。



因为Git使用SSH连接,而SSH第一次连接需要验证GitHub服务器的Key。

确认GitHub的Key的指纹信息是否真的来自GitHub的服务器。

Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。

解决办法。其实就是在本地生成key配置到github服务器。这样子接收过来就gitHub服务器了。

css 复制代码
 ssh-keygen -t rsa -C "github用户名(名字或者邮箱)",按三次回车
你可以按如下命令来生成 sshkey:

ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"  
# Generating public/private ed25519 key pair.

t : t是type的缩写

-t即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA
RSA和DSA

    RSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的,RSA是他们三个人姓的开头首字母组合。
    DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种。

为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。


注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_ed25519.pub 文件内容,获取到你的 public key

cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
css 复制代码
 登陆码云,点击头像-settings-new SSH,
 复制新生成的SSH配置到服务器,记住拷贝是4步骤下面的秘钥信息以ssh-rsa开始邮箱结束的。
复制代码
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。

 
所以我们只需要将用户主目录下的 ~/.ssh/id_rsa.pub 文件的内容粘贴 Gitee 上。
C:\Users\xxxx\.ssh


选择右上角用户头像 -> 设置,然后选择 "SSH公钥",
填写一个便于识别的标题,然后把用户主目录下的 .ssh/id_rsa.pub 文件的内容粘贴进去:

添加成功后,就可以使用SSH协议对仓库进行操作了。

项目名称最好与本地库保持一致。

然后,我们在本地库上使用命令 git remote add 把它和 Gitee 的远程库关联:

go 复制代码
git remote add origin git@gitee.com:imnoob/runoob-test.git

$ git push origin master
fatal: protocol 'git@gitee.com:https' is not supported

这说明本地库已经关联了一个名叫 origin 的远程库,此时,可以先用 git remote -v 查看远程库信息:

go 复制代码
git remote -v
origin    git@github.com:tianqixin/runoob.git (fetch)
origin    git@github.com:tianqixin/runoob.git (push)

https://www.runoob.com/git/git-gitee.html

git push 和 git pull

如果要推送到 GitHub, Gitee

css 复制代码
git push github master 
git push gitee master
从将本地的分支版本上传到远程并合并。

git push <远程主机名> <本地分支名>:<远程分支名>如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>


(1)以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
git push origin master

(2)如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force origin master

(3)删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master 
cpp 复制代码
 简易的命令行入门教程:
Git 全局设置:

git config --global user.name "amingMM"
git config --global user.email "1274510382@qq.com"
创建 git 仓库:

mkdir recheng_shoper_firstr
cd recheng_shoper_firstr
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/zhang_aming/recheng_shoper_firstr.git
git push -u origin "master"
已有仓库?
 

完美解决github访问速度慢

  1. 修改本地hosts文件

    windows系统的hosts文件的位置如下:C:\Windows\System32\drivers\etc\hosts
    mac/linux系统的hosts文件的位置如下:/etc/hosts

  2. 增加http://github.global.ssl.fastly.net和http://github.com的映射

    获取Github相关网站的ip
    访问https://www.ipaddress.com,拉下来,找到页面中下方的"IP Address Tools -- Quick Links"
    分别输入github.global.ssl.fastly.net和github.com,查询ip地址
    下面是我的配置
    140.82.114.4 github.com
    199.232.5.194 github.global.ssl.fastly.net

css 复制代码
 git clone git@gitee.com:xxxx/xxxxx.git

介绍

Git 是一个开源的分布式版本控制系统,

用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了

帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,

它采用了分布式版本库的方式,不必服务器端软件支持。

Git 与 SVN 区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),

工作管理系统等。

如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

Git 与 SVN 区别点:

go 复制代码
1、Git 是分布式的,SVN 不是:
这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

2、Git 把内容按元数据方式存储,
而 SVN 是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

4、Git 没有一个全局的版本号,而 SVN 有:
目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

5、Git 的内容完整性要优于 SVN:

Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

IDEA 添加 gitee

选中项目文件夹


会弹出警告,都点击commit

push代码到gitee


相关推荐
运器12326 分钟前
【一起来学AI大模型】PyTorch DataLoader 实战指南
大数据·人工智能·pytorch·python·深度学习·ai·ai编程
mit6.8242 小时前
[es自动化更新] Updatecli编排配置.yaml | dockerfilePath值文件.yml
大数据·elasticsearch·搜索引擎·自动化
Jinkxs2 小时前
Elasticsearch 简介
大数据·elasticsearch·搜索引擎
亮学长4 小时前
lodash不支持 Tree Shaking 而 lodash-es可以
大数据·前端·elasticsearch
risc1234564 小时前
Elasticsearch 线程池
java·大数据·elasticsearch
树谷-胡老师4 小时前
1965–2022年中国大陆高分辨率分部门用水数据集,包含:灌溉用水、工业制造用水、生活用水和火电冷却
大数据·数据库·arcgis
TDengine (老段)6 小时前
TDengine 集群部署及启动、扩容、缩容常见问题与解决方案
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
青云交8 小时前
Java 大视界 -- Java 大数据机器学习模型在电商用户复购行为预测与客户关系维护中的应用(343)
java·大数据·机器学习·数据安全·电商复购·地域适配·边疆电商
贝塔西塔8 小时前
PySpark中python环境打包和JAR包依赖
大数据·开发语言·python·spark·jar·pyspark
保持学习ing9 小时前
day4--上传图片、视频
java·大数据·数据库·文件上传·minio·分布式文件系统·文件存储