IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git 建立分布式版本库 -> 正文阅读

[开发工具]git 建立分布式版本库

Git 是目前最流行的版本管理工具,也是程序员的必备技能之一。

这里主要介绍一下git/github远程仓库的使用及相关配置:

一、SSH Keys

SSH Keys是什么呢?简单来说相当于一把钥匙(在机器中即电脑中进行配置),github相当于一把锁,每次发起请求是会去验证钥匙与锁是否配对。

由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置。

二、添加远程库

你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。那如何将我们这个本地仓库上传到 GitHub 呢?下图简单描述了Git常用的操作流程。

请添加图片描述
1.在本地新建文件夹,命名为blog,在本地的blog仓库的路径下运行命令行。

$ git init    // 在当前目录新建一个Git代码库

这个操作在当前目录下生成一个.git文件,默认不显示,可在命令行中输入 ls -a,即可看到所有被隐藏文件,接下来进行如下操作:

$ echo "# myblog" >> README.md   //在当前目录下新建README.md,且文件内容为'myblog';如果目录下已经有文件,请省略这一步
$ git add README.md                //将README.md文件提交到问题暂存区
$ git commit -m "first commit"     //将暂存区文件提交到本地仓库,且本次提交记录为'first commit'
$ git status -sb      //显示当前所有文件的状态

这几步操作目的是将上传的文件提交到本地仓库,接下来就是介绍怎么样将本地仓库上传到远端库了。

2.登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库,名称随意,一般可以跟本地目录名一致。

请添加图片描述
在Repository name填入blog,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。

3.点击创建按钮之后,GitHub 就会把后续的操作全告诉你,如图:请添加图片描述
4.看上图,记得点击 SSH 按钮,如果不点击这个按钮,你就会使用默认的 HTTPS 地址。但是千万不要使用HTTPS 地址,因为使用HTTPS 除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但在某些只开放http端口的公司内部就无法使用SSH协议而只能用HTTPS 。

5.目前,在GitHub上的这个blog仓库还是空的,GitHub告诉我们,可以在这个仓库创建一个新的本地仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

现在,我们根据GitHub的提示,在本地的blog仓库下运行命令:

$ git remote add origin git@github.com:miqilin21/blog.git

6.下一步,就可以把本地库的所有内容推送到远程库上:

$ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 216 bytes | 216.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To Build software better, together:miqilin21/blog.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:请添加图片描述
7.如果你想查看变更历史,可以通过命令:

$ git log 

8.从现在起,只要本地仓库作了修改,如果你想让改动保存到远程仓库里,你需要先 git add 文件 或者也可以 git add .
注意,如果这个 文件以前被我们 add 过,所以此处的 git add 操作可以省略,但我建议你使用 git 的初期阶段,不要省略 git add。
换句话说,每一次改动,都要经过 git add 和 git commit 两个命令,才能被添加到 .git 本地仓库里。接下来就通过命令:

$ git push   //将本地仓库修改内容同步到远程仓库

但是,如果远程库先有修改的话,要想本地仓库与其同步,还需通过命令:

$ git pull      //将远程库修改的内容下载到本地库

最后把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!

三、从远程库clone

上面已经讲了

在本地创建仓库
将本地仓库上传到 GitHub
这里将介绍另外一种用法,那就是直接在 GitHub 创建一个仓库,然后克隆下载到本地。

1.在GitHub 上新建一个仓库 git-demo

这次就不创建空仓库了,而是自带 README 和 Lisence 的仓库,创建截图如下:

请添加图片描述
请按图中所示,一模一样的操作,然后点击创建按钮。

2.这样一来,这个仓库就会自动生成三个文件:

请添加图片描述

3.克隆本地库

现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库,点击页面中唯一的绿色按钮「clone or download」,会看到一个弹出层:请添加图片描述
请确保弹出层里的地址是 SSH 地址,也就是 git@github.com 开头的地址,如果不是,就点击 Use SSH 按钮,然后复制这个地址。

4.打开 Git Bash,找一个安全目录,比如 ~/Desktop 桌面目录就很安全:cd ~/Desktop,然后运行:

$ git clone git@github.com:miqilin21/git-demo.git
Cloning into 'git-demo'...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (5/5), done.

运行完了你就会发现,桌面上多出一个 git-demo-2 目录,里面的内容和远程库一模一样,至此从远程库克隆到本地就完成啦!

四、小结

三种方式都说完了,它们分别是:

在本地创建仓库
将本地仓库上传到 GitHub
GitHub 上的仓库克隆下载到本地
其实呢,还有很多种不同的方式,但是,你记住这几种就行了,已经够你用了。我们并不想要了解 git 的所有高级用法,我们的目的很明确:能通过 Git 命令使用 GitHub 就行。

我们再回顾一遍已经学到的命令:

git clone git@github.com:xxxx,克隆下载远程仓库
git init,初始化本地仓库 .git
git status -sb,显示当前所有文件的状态
git add 文件路径,用来将变动加到暂存区
git commit -m “信息”,用来正式提交变动,并备注信息,提交至 .git 仓库
如果有新的变动,我们只需要依次执行 git add xxx 和 git commit -m ‘xxx’ 两个命令即可。
git log 查看变更历史

五、其他学习资源

常用 Git 命令清单
Git 菜鸟教程
创建版本库

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:55:14  更:2022-04-07 22:56:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:28:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码