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 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 代码管理平台—GitHub -> 正文阅读

[开发工具]代码管理平台—GitHub

1、GitHub介绍

????????GitHub是一个开源的代码托管平台,使用GitHub可以查看别人的项目、可以建立静态网页、可以管理插件、可以在线编译、可以托管代码等等。

1.1、GitHub使用方法

  • 注册用户,网址:https://github.com/
  • 配置sh-key
  • 创建项目
  • 克隆项目到本地
  • 推送新代码到github

2、GitHub注册与登录

????????国内访问Github可能会有些慢,或者可以使用一些加速器,也可以使用国内的平台Gitee(码云)【https://gitee.com/】它的操作与Github一样,只是部分功能需要付费才能解锁。

2.1、登录官网,注册用户

2.1.1、点击“登录”??

2.1.2、点击“创建一个帐户 ”

2.1.3、按照提示完成注册

2.1.4、输入启动代码

?2.1.5、接下来按提示选择相应的需求,完成注册

3、远程仓库

假设1:假设你准备开发一个新功能,但是需要两周才能完成。第一周写了50%,但是在第二周你的电脑粉碎了,并且还没有将上周工作代码存储到其他物理介质上,这样存在丢失的巨大风险

假设2:假设你是一个非常努力的程序员,除了在公司写代码外你还经常把代码用U盘拷贝回家继续工作,如果在通勤过程中U盘不小心丢了,回家之后你就不能工作了

3.1、配置GitHub

3.1.1、创建SSH Key

[root@git_server ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:2VVZL4n7BLovmp5NEzWWmFT40on4O76d032XaMGBztE root@git_server
The key's randomart image is:
+---[RSA 2048]----+
|          .o. .o.|
|         ..o +...|
|         .o+@.o .|
|        .ooB+E . |
|        S.*.+ o  |
|          .= =   |
|          +. .+..|
|         =++.+..+|
|       .=o++=.  o|
+----[SHA256]-----+
[root@git_server ~]# cd .ssh/
[root@git_server .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub     # .ssh/id_rsa:私钥;.ssh/id_res.pub:公钥
[root@git_server .ssh]# cat id_rsa.pub

3.1.2、添加公有秘钥到GitHub,点击右上角“图像”,再点击“设置”

3.1.3、添加公有秘钥到github

3.1.4、测试秘钥是否有效

[root@git_server .ssh]# ssh git@github.com
PTY allocation request failed on channel 0
Hi jiangying99! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

3.2、创建远程仓库

3.2.1、返回首页,点击“创建存储库”??

3.2.2、关联本地仓库和远程仓库

  • 本地仓库中执行命令:git remote add origin 远程仓库地址

[root@git_server project]# git remote add origin git@github.com:jiangying99/gittest.git

?3.2.3、将本地仓库的内容推送到远程仓库

[root@git_server project]# git push -u origin master
To git@github.com:jiangying99/gittest.git
 ! [rejected]        master -> master (fetch first)
error: 无法推送一些引用到 'git@github.com:jiangying99/gittest.git'
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已推送了相同的引用。再次推送前,您可能需要先合并远程变更
提示:(如 'git pull')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。

3.2.4、获取远程更新

[root@git_server project]# git fetch origin
warning: no common commits
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (2/2), done.
Unpacking objects: 100% (6/6), done.
remote: Total 6 (delta 0), reused 3 (delta 0), pack-reused 0
来自 github.com:jiangying99/gittest
 * [新分支]          main       -> origin/main
 * [新分支]          master     -> origin/master

?3.2.5、将更新的内容合并到本地

[root@git_server project]# git merge origin/master 
[root@git_server project]# touch c
[root@git_server project]# git add .
[root@git_server project]# git commit -m "touch c"
[master c622adf] touch c
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 c
[root@git_server project]# git push -u origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 257 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:jiangying99/gittest.git
   2d498a3..c622adf  master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

3.2.5、在远程仓库查看数据

  • 删除本地仓库与远程仓库的关联,在本地仓库中执行命令:git remote rm origin
  • 推送本地仓库内容到远程仓库命令:git push origin 分支
  • 注意:关联后第一次推到远程库前需要先拉取内容,否则报错
  • 拉取远程仓库内容到本地仓库命令:git pull origin 分支
  • 存在本地库与远程库不一致情况:git pull origin 分支 --allow-unrelated-histories
  • 克隆远程仓库到本地电脑形成本地仓库格式:git clone 远程库地址

????????示例:git clone git@github.com:gongjunhe/gittest.git

3.3、.gitignore文件

作用:忽略特殊文件。当工程中有些文件已经确定基本不会改变,所以不用每次推送时都推送,git在推送时会忽略.gitignore文件中列举的内容,可以提升推送效率
注意:文件名必须叫做.gitignore,.gitignore和.git文件夹是同一目录;一定要push之前创建.gitignore文件,push之后创建.gitignore不用被git使用,因为git已经开始了版本控制。

  • 文件内容说明:#开头的行为注释,不生效
  • 支持正则表达(简化的):可以以(/)开头防止递归,最后有斜杠(/)的代表要忽略的是目录,加感叹号(!)表示取反

3.3.1、支持的正则表达规范

  • *:零个或多个字符
  • []:匹配括号中的任意字符
  • ?:匹配一字符
  • [n-m]:匹配一个范围内的字符,[abc] 匹配 任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c)
  • [^n-m] 不要匹配一个范围内的字符
  • **:表示匹配任意中间目录,比如 a/**/z 可以 匹配 a/z 、 a/b/z 或 a/b/c/z 等。

例如:

a/:忽略任何目录下名为a的目录

/a.txt:只忽略当前目录下的a.txt,不忽略其它目录下的a.txt

*.exe:忽略所有以.exe结尾的文件

!/a/a.jpg:不忽略a目录下的a.jpg文件

a/*.txt:忽略a目录下的以.txt结尾的文件,但不忽略其子目录下包含的以.txt结尾的文件

*.[ao]: 忽略.a或.o结尾的文件


                
        
        
  开发工具 最新文章
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-07-17 16:44:21  更:2022-07-17 16:47:02 
 
开发: 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年5日历 -2024/5/18 15:23:11-

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