Git Gitee
大家都知道国内访问 Github 速度比较慢,很影响我们的使用。
如果你希望体验到 Git 飞一般的速度,
可以使用国内的 Git 托管服务——Gitee(gitee.com)。
Gitee 提供免费的 Git 仓库,
还集成了代码质量检测、项目演示等功能。
对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务,5 人以下小团队免费。
接下来我们学习一下如何使用 Gitee。
$ 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 ..." 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服务器了。
ssh-keygen -t rsa -C “github用户名(名字或者邮箱)”,按三次回车
你可以按如下命令来生成 sshkey:
ssh-keygen -t ed25519 -C "[email protected]"
# 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来完成这个操作。
注意:这里的 [email protected] 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。
按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_ed25519.pub 文件内容,获取到你的 public key
cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
登陆码云,点击头像-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 文件的内容粘贴进去:
项目名称最好与本地库保持一致。
然后,我们在本地库上使用命令 git remote add 把它和 Gitee 的远程库关联:
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 查看远程库信息:
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
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
简易的命令行入门教程:
Git 全局设置:
git config --global user.name "amingMM"
git config --global user.email "[email protected]"
创建 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"
已有仓库?
windows系统的hosts文件的位置如下:C:\Windows\System32\drivers\etc\hosts
mac/linux系统的hosts文件的位置如下:/etc/hosts
获取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
git clone git@gitee.com:xxxx/xxxxx.git
Git 是一个开源的分布式版本控制系统,
用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了
帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,
它采用了分布式版本库的方式,不必服务器端软件支持。
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),
工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:
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 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。