开发知识点-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


相关推荐
Yz98765 分钟前
Hive基础
大数据·linux·数据仓库·hive·hadoop·bigdata
AORO_BEIDOU1 小时前
抢抓5G机遇,AORO A23防爆手机如何直击园区巡检挑战?
大数据·5g·智能手机·信息与通信
Shaidou_Data1 小时前
信息技术引领未来:大数据治理的实践与挑战
大数据·人工智能·数据清洗·信息技术·数据治理技术
Elastic 中国社区官方博客1 小时前
开始使用 Elastic AI Assistant 进行可观察性和 Microsoft Azure OpenAI
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
p-knowledge1 小时前
git常用操作
git
青云交1 小时前
大数据新视界 -- 大数据大厂之 Impala 性能优化:新技术融合的无限可能(下)(12/30)
大数据·性能优化·impala·技术创新·新技术融合·电商案例·跨行业应用
weixin_442643421 小时前
FileLink跨网文件安全摆渡系统——企业数据流转的安全桥梁
大数据·网络·安全·filelink文件摆渡系统
OBOO鸥柏3 小时前
OBOO鸥柏“触摸屏广告一体机交互”亮相2024中国珠海航展
大数据·人工智能·科技·交互
我是琦琦琦琦3 小时前
flink 同步oracle11g数据表到pg库
大数据·postgresql·oracle·flink
myheartgo-on4 小时前
PySpark——Python与大数据
大数据·python·信息可视化