github使用

一、GithubDesktop安装

githubDsektop汉化1

githubDsektop汉化2

githubDsektop汉化工具

二、Github

official::github主页

official::gitguardian

github私人库给他人权限

1 基础概念

工作区:本地计算机存储和编辑代码的区域,文件都处于Untracked/Unstage(未追踪)状态。add至暂存区。

暂存区:相当于是缓冲区,文件都处于Stage(已追踪)状态。commit至本地仓库。

本地仓库:保存完整的项目历史记录。push到远程仓库,diff到工作区。

远程仓库:远程仓库。fetch至本地仓库,pull/clone至工作区。

2 github中管理

Q1:已有库添加LICENSE

A1:进入库中,点击Add file——Create New File,然后输入LICENSE,点击Choose a license template,选择模板即可。

3 token设置

进入github——头像——setting——Developer settings——Personal access tokens——Generate new token。

Node:token名字

Expiration:有效时间

Select scopes:设置权限

4 开源协议选择

author::各种开源协议介绍

软件能否商用

MIT协议(只安心写代码,别人可以任意使用代码):

  1. 允许别人以任意方式使用。
  2. 署名作者。
  3. 原作者不承担代码使用后的风险。

BSD协议:

  1. 类似MIT协议。
  2. MIT协议衍生软件的广告可以使用你的名字促销,但是BSD不行。

Apache协议(保留专利,但别人也可以任意使用代码):

  1. 授权使用者免费使用个人专利。
  2. 使用者必须放置协议说明。
  3. 使用者需要对修改部分进行说明。
  4. 禁止用作者的名号进行商业广告。
  5. 原作者不承担代码使用后的风险。

GPL协议(希望代码遍地开花):

  1. 使用者需要遵循相同协议进行开源。
  2. 原作者不承担代码使用后的风险。

LGPL协议:

  1. LGPL是GPL的一个为主要为类库使用设计的开源协议。
  2. 他人修改源码后不可闭源。
  3. 新增代码不用采用相同许可证。
  4. 不需要对源码的修改之处提供说明文档。

Mozilla协议:

  1. 常用于开源软件项目设计的软件许可证。
  2. 他人修改源码后不可闭源。
  3. 新增代码不用采用相同许可证。
  4. 需要对源码的修改之处提供说明文档。

    CC 协议:

  5. 署名 作品上必须附有作品的归属。如此之后,作品可以被修改,分发,复制和其它用途。

  6. 相同方式共享 作品可以被修改、分发或其它操作,但所有的衍生品都要置于CC许可协议下。
  7. 非商业用途 作品可以被修改、分发等等,但不能用于商业目的。(注意不同人对商业的理解不同)
  8. 禁止衍生作品。

三、Git

下载:official::Git - Downloads (git-scm.com)

Git 教程 | 菜鸟教程 (runoob.com)

1 基础命令

# 配置用户名和邮箱
git config --global user.name "name"
git config --global user.email 123@123.com

# 初始化git(会多一个.git的隐藏文件夹,初始完后会在一个新的分支下,例如:git:(master))
git init

# 查看git状态(当前所处分支,文件状态)
git status

# 添加文件到缓存区
git add <file>

# 提交(会进入vim编辑器,可以附加内容)
git commit
# 添加建议信息后提交
git commit -m "Version2 and version3"

# 查看commit版本日志
git log


# 查看分支(进入后按q退出)
git branch
# 新建分支
git branch <branch_name>
# 切换分支
git checkout <branch_name>
git switch <branch_name>
# 删除分支(-d:未合并分支会进行提示,-D:肯定删除)
git branch -d <branch_name>
git branch -D <branch_name>

# 合并别的分支到当前分支(有冲突手动修改文本即可)
git merge <branch_name>


# 拷贝远程仓库
git clone <url>
# 查看本地仓库和远程仓库的名字(结果前面是远程仓库的名字)
git remove -v
# 将本地的分支版本上传到远程并合并(用户名填token,不用填密码)
git push
# 拉到本地版本库
git fetch
# 查看本地仓库和远程仓库的区别(<url>可以用远程仓库名字代替,例:origin)
git diff <url>/<branch_name>

2 初始流程

# 1.先切换到指定文件夹下
cd <folder>

# 2.配置用户名和邮箱
git config --global user.name "name"
git config --global user.email 123@123.com

# 3.初始化git
git init

# 4.新建文件并编辑文件
echo "" > 1.md

# 5.添加文件到缓存区
git add 1.md

# 6.提交
git commit

# 7.查看对应信息
git status
git log

3 其他配置

# 忽略文件
# 1.新建 .gitignore
touch .gitignore

# 2.修改文件内容,添加需要忽视的文件名和后缀
echo "1.jpg" >> .gitignore

# 3.可以看到图片不再处在未追踪状态
git status

4 详细参数

# git commit
-a:参数设置修改文件后不需要执行 git add 命令,直接来提交
-m [message]:备注信息

# git checkout
-b:创建并立即切换分支

# git branch
-d:如果分支未合并则会进行提示
-D:肯定删除一个分支,不会有提示

5 使用案例

# 快速备注信息并提交修改,不需要先git add添加到缓冲区
git commit -a -m [message]
git commit -am [message]

# 创建并立即切换分支
git checkout -b <branch_name>

6 fork

# 创建分支和合并:
# 1. 进入Github,找到别人的仓库,点击fork

# 2. 克隆自己库中刚刚fork的仓库到本地
git clone <url> <name>

# 3. 修改后push
git add .
git commit -m "description"
git push

# 4.进入github,点击库上面的Contribute,点击Open pull request,写完描述后提交

# 5.等待原仓库主审核