当前位置:   article > 正文

代码管理平台—GitHub_开源代码网站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

  1. [root@git_server ~]# ssh-keygen -t rsa
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase):
  5. Enter same passphrase again:
  6. Your identification has been saved in /root/.ssh/id_rsa.
  7. Your public key has been saved in /root/.ssh/id_rsa.pub.
  8. The key fingerprint is:
  9. SHA256:2VVZL4n7BLovmp5NEzWWmFT40on4O76d032XaMGBztE root@git_server
  10. The key's randomart image is:
  11. +---[RSA 2048]----+
  12. | .o. .o.|
  13. | ..o +...|
  14. | .o+@.o .|
  15. | .ooB+E . |
  16. | S.*.+ o |
  17. | .= = |
  18. | +. .+..|
  19. | =++.+..+|
  20. | .=o++=. o|
  21. +----[SHA256]-----+
  22. [root@git_server ~]# cd .ssh/
  23. [root@git_server .ssh]# ls
  24. authorized_keys id_rsa id_rsa.pub # .ssh/id_rsa:私钥;.ssh/id_res.pub:公钥
  25. [root@git_server .ssh]# cat id_rsa.pub

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

3.1.3、添加公有秘钥到github

3.1.4、测试秘钥是否有效

  1. [root@git_server .ssh]# ssh git@github.com
  2. PTY allocation request failed on channel 0
  3. Hi jiangying99! You've successfully authenticated, but GitHub does not provide shell access.
  4. 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、将本地仓库的内容推送到远程仓库

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

3.2.4、获取远程更新

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

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

  1. [root@git_server project]# git merge origin/master
  2. [root@git_server project]# touch c
  3. [root@git_server project]# git add .
  4. [root@git_server project]# git commit -m "touch c"
  5. [master c622adf] touch c
  6. 1 file changed, 0 insertions(+), 0 deletions(-)
  7. create mode 100644 c
  8. [root@git_server project]# git push -u origin master
  9. Counting objects: 4, done.
  10. Compressing objects: 100% (2/2), done.
  11. Writing objects: 100% (3/3), 257 bytes | 0 bytes/s, done.
  12. Total 3 (delta 0), reused 0 (delta 0)
  13. To git@github.com:jiangying99/gittest.git
  14. 2d498a3..c622adf master -> master
  15. 分支 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结尾的文件


                
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/531825
推荐阅读
相关标签
  

闽ICP备14008679号