您的位置:首页 > 教育 > 培训 > 【devops】devops-git之github使用

【devops】devops-git之github使用

2024/11/8 16:25:15 来源:https://blog.csdn.net/zerotoall/article/details/142258041  浏览:    关键词:【devops】devops-git之github使用

 本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

1.什么是github

Github顾名思义是一个Git版本库的托管服务,是目前全球最大的软件仓库,拥有上百万的开发者用户,也是软件开发和寻找资源的最佳途径,
Github不仅可以托管各种Git版本仓库,还拥有了更美观的Web界面,您的代码文件可以被任何人克隆,使得开发者为开源项贡献代码变得更加容易,
当然也可以付费购买私有库,这样高性价比的私有库真的是帮助到了很多团队和企业
​
详细操作参考:https://zhuanlan.zhihu.com/p/37078615
​
1、注册用户        
2、配置ssh-key
3、创建项目
4、克隆项目到本地
5、推送新代码到github

2.github使用

1)注册用户
#1.访问网站  https://github.com/
#2.右上角 sign up
#3.填写注册信息
#4.右上角点击 sign in 登录
2)创建远程仓库

img

img

页面跳转,可根据提示进行操作

img

3)添加远程仓库
[root@git git_data]# git remote add origin git@github.com:tcy110/gt_data.git
4)查看远程仓库
[root@git git_data]# git remote 
origin
5)推送代码到远程仓库
#创建一个文件到工作区域
[root@git git_data]# touch test_gihub#将数据添加到暂存区
[root@git git_data]# git add test_gihub#提交到本地仓库
[root@git git_data]# git commit -m "提交到本地仓库"
[master efa9480] 提交到本地仓库1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 test_gihub#提交到远程仓库
[root@git git_data]# git push -u origin master
The authenticity of host 'github.com (13.250.177.223)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,13.250.177.223' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
#认证失败,因为我们通过ssh进行推送的,需要输入ssh连接密码,我们不知道密码所以被拒绝
6)做免密,把我们的服务器与github做免密登录
1.生成密钥对
[root@git git_data]# ssh-keygen 
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:/URpF1/tB0ZaZTaTfnwlKZs32PqV9Dh4P15F5Rqrcfw root@git
The key's randomart image is:
+---[RSA 2048]----+
|             .+=O|
|            .+=BB|
|            =B+==|
|         . o+o+B*|
|        S . o+*oB|
|           oo++o+|
|            oo +E|
|              ..o|
|              ...|
+----[SHA256]-----+2.获取公钥
[root@git git_data]# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUjihOjWKimah6x/1d0oTc4tro0Yq18lZBHnI/elLVZwo/ZnQFP37RIYPuqNcTptaEJzjNgwyvUGf6uiQ6sxGCQ1LL3XkHUEVMYMa/OM4h/wI4/EQOf6D6aAoZJ2RqH4PHKuxidyWKl7viqYItgWki3yEeUBhNRPY1FOQxGJhg6FviwpoABtXHybEY0yjjZ/FsWDzuZLnab+j46YawrSyUmTD6iSqbdvOeFtbv9v8NcaYSar2Rgl9HPOvb1ezx/sfwGra1pqL1Rly6AqDdGGazaumNAyPr04GWuFTxx1imcjRmhFqsz2LcwCKLjLw3+z+2skNrtlPb2Cw/ET3iqXsr root@git3.将公钥加到平台的ssh公钥中

img

img

img

img

img

7)再次测试提交
[root@git git_data]# git push -u origin master
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
Counting objects: 31, done.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (31/31), 2.69 KiB | 0 bytes/s, done.
Total 31 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To git@github.com:a893874/git_data.git* [new branch]      master -> master
Branch master set up to track remote branch master from origin.
8)到页面查看

img

3.代码拉取与推送

1)克隆仓库到本地
[root@git tmp]# git clone git@github.com:a893874/git_data.git
Cloning into 'git_data'...
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 31 (delta 2), reused 31 (delta 2), pack-reused 0
Receiving objects: 100% (31/31), done.
Resolving deltas: 100% (2/2), done.[root@git tmp]# ll
total 0
drwxr-xr-x 3 root root 59 Sep 22 00:32 git_data# 注意:
git clone https://github.com/oldboylzy/git_test.git
低版本的系统存在版本问题提示
fatal: unable to access 'https://github.com/oldboylzy/oldboy.git/': Peer reports incompatible or unsupported protocol version
yum update -y nss curl libcurl   #升级版本即可
[root@git git_test]# touch d
[root@git git_test]# git add .
[root@git git_test]# git commit -m "add d"
[root@git git_test]# git push -u origin master
[root@git git_data]# cd /root/git_data/
[root@git git_data]# git pull               # 拉取远程仓库最新代码、然后进行上传

img

2)拉取代码
[root@git opt]# mkdir git_data
[root@git opt]# cd git_data/#先初始化
[root@git git_data]# git init
Initialized empty Git repository in /opt/git_data/.git/
#再拉取代码
[root@git git_data]# git pull git@github.com:a893874/git_data.git
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 31 (delta 2), reused 31 (delta 2), pack-reused 0
Unpacking objects: 100% (31/31), done.
From github.com:a893874/git_data* branch            HEAD       -> FETCH_HEAD
#查看
[root@git git_data]# ll
total 8
-rw-r--r-- 1 root root  4 Sep 22 00:35 3
-rw-r--r-- 1 root root 12 Sep 22 00:35 master
-rw-r--r-- 1 root root  0 Sep 22 00:35 test_gihub
3)推送代码
[root@git git_data]# echo "12354667890" > 1.txt
[root@git git_data]# git add 1.txt
[root@git git_data]# git commit -m "测试拉取代码修改后提交到远程仓库"
[master e0a401f] 测试拉取代码修改后提交到远程仓库1 file changed, 1 insertion(+)create mode 100644 1.txt#查看远程仓库,暂时还没有
[root@git git_data]# git remote
#添加远程仓库
[root@git git_data]# git remote add origin git@github.com:a893874/git_data.git
[root@git git_data]# git remote 
origin#推送数据
[root@git git_data]# git push -u origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 392 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:a893874/git_data.gitefa9480..e0a401f  master -> master
Branch master set up to track remote branch master from origin.
4)页面查看推送的代码

img

5)同步原来的代码目录
#回到最初的代码目录,没有刚提交的新代码,需要重新拉取
[root@git git_data]# git pull git@github.com:a893874/git_data.git
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (2/2), done.
Unpacking objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
From github.com:a893874/git_data* branch            HEAD       -> FETCH_HEAD
Auto-merging master
Merge made by the 'recursive' strategy.1.txt      | 1 +master     | 1 +test_gihub | 03 files changed, 2 insertions(+)create mode 100644 1.txtcreate mode 100644 test_gihub[root@git git_data]# ll
total 12
-rw-r--r-- 1 root root 12 Sep 22 00:41 1.txt
-rw-r--r-- 1 root root  4 Sep 17 17:40 3
-rw-r--r-- 1 root root 16 Sep 22 00:41 master
-rw-r--r-- 1 root root  0 Sep 22 00:41 test_gihub

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com