学习Github必须要会的知识

目的  

  托管项目代码


基本概念

仓库Respository

  存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库。

收藏Star

  收藏项目,方便下次查看。

复制克隆项目Fork

  (深拷贝)

发起请求Fullrequest

  被fork对象接受到fork的修改,等待张三查看、合并。

关注Watch

  关注项目,当项目更新可接收到通知。

事务卡片Issue

  发现代码Bug,但是目前没有成型代码,需要讨论时用。

主页

Github主页

仓库主页

个人主页

git


git

工作区域

向仓库中添加文件流程

基本信息设置

设置用户名和邮箱

初始化仓库步骤

process

  1. cd test
  2. git init
  3. git add a1.php
  4. git status
  5. git commit -m 'add a1.php'
  6. git status

    修改仓库

  7. vim a1.php
  8. git add a1.php
  9. git commit -m '第一次修改文件并提交到仓库'

    删除仓库文件

  10. rm -rf a1.php//本地删除
  11. git rm a1.php//从git暂存区中删除
  12. git commit -m '提交描述'

    远程仓库管理

  13. git clone 仓库地址//复刻
  14. git push//本地仓库更新到远程//第四步

    Github Pages搭建网站

  15. 访问https://用户名.github.io
  16. 搭建步骤
      新建仓库名:用户名.github.io
  17. 新建文件index.html


.gitignore

作用

  在.gitignore添加了某个文件之后,这个文件就不会上传到github上被别人看见。

.gitignore 文件的格式规范如下:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

    所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。

  • 星号(*)匹配零个或多个任意字符;
  • [abc]匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);
  • 问号(?)只匹配一个任意字符;
  • 如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。
  • 使用两个星号() 表示匹配任意中间目录,比如a//z可以匹配 a/z, a/b/z 或 a/b/c/z等。
/mtk/              
#过滤整个mtk文件夹
*.zip               
#过滤所有.zip文件
/mtk/do.c        
#过滤/mtk/do.c文件

fd1/*      
#忽略目录 fd1 下的全部内容

/fd1/*    
#忽略根目录下的 /fd1/ 目录的全部内容;

!/fw/bin/
!/fw/sf/             
#不忽略 根目录下的 /fw/bin/ 和 /fw/sf/ 目录;

Git在添加.gitignore之前就push了项目

(为避免冲突可以先同步下远程仓库 $ git pull)

  1. 在本地项目目录下删除暂存区内容: $ git rm -r --cached .

  2. 新建.gitignore文件,并添加过滤规则(用文本编辑器如Notepad++)

  3. 再次add文件,添加到暂存区

  4. 再次commit提交文件

  5. $ git commit -m “add .gitignore”

  6. 最后push即可

注意事项

  • 命令和注释别在同一行,如*.txt #注释txt这样会导致这一行无法被识别
  • git add .之前如果有改动.gitignore一定要 执行 git rm -r --cached .
  • 合理使用.gitignore可以避免无用文件的上传,也可以防止重要配置信息的泄露

猜你喜欢

转载自www.cnblogs.com/yjchen/p/12285488.html