【Github操作指南】
GITHUB介绍
github是一个广泛使用的代码托管平台,它为软件开发项目提供了版本控制和协作功能。它基于git版本控制系统,并允许多个用户在任何地方共同开发和维护项目。
使用github有很多好处:
- 在github进行代码拉取,代码审查和issue跟踪系统可以为团队协作提供极大的便利
- github提供的版本控制系统,可以帮助跟踪每一次代码更改,而github作为云平台,也提供了代码的在线备份,可以防止代码丢失,轻松回退到任何一个版本
- github是全球最大的开源社区之一,在github上上传项目可以轻松被其他人发现,使用和做出反馈,提升项目的质量
因此,每一个开发者,都应该学会使用github,不必担心,github提供了免费的版本,因此,你不需要担心软件收费问题,目前,在免费的情况下,你就可以创建无限数量的公共仓库,且任何人都可以查看和贡献这些仓库,还可以免费拥有无限数量的私有仓库,使用基本的代码托管,分支管理,拉取请求和issues跟踪等功能,是非常方便的
issue介绍:在github上issue是一个功能,用于跟踪与项目相关的任务,增强建议,错误报告或其他类型的工作。它充当了项目中的一个讨论板,开发者,项目参与者以及其他用户可以在其中提出问题,讨论解决方案,规划新功能或报告软件中的缺陷。
注册GITHUB账号
要注册github账号,首先,需要找到github的官方网站:github.com
然后点击sign up进行注册,出现如下界面
当然,如果你已经有账号了,点击sign in登录即可
在注册的过程中,他要求你输入一个email,如果你没有邮箱的话,可以尝试先注册一个邮箱,或者尝试使用qq邮箱
创建一个项目
创建好账号登录后,点击create repository就可以创建第一个项目了
其中:
repository是仓库是用来存储,管理,跟踪和控制项目代码的地方。它不仅可以包含代码,还可以包括文档,图像或者数据文件等。每个仓库都可以包含文件和文件夹,支持版本控制,并可以与他人共享和协作。
README文件是一个文本文件,用于对项目进行描述。它是任何GitHub仓库的入口点,可以存放很多信息:项目的名称和描述,安装和使用指南,依赖关系说明,联系方式,贡献指南,版权和许可信息。
.gitignore文件是一个文本文件,用于选择git版本控制系统应该忽略哪些文件和文件夹。在创建仓库的时候,可以选择默认的模板。
License的许可证定义了其他用户可以如何使用这个的项目。如果没有许可证,代码将默认保留所有权利,别人不能复制,分发或修改这些工作。可以根据自己的需要,选择不同的许可证。其中,MIT License非常宽松,允许他人自由地使用,复制,修改和分发项目,只需保留版权声明即可。
拉取项目
首先需要配置必要的信息
git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址"
如果已经有这些配置信息了,你可以查看
git config --get user.name git config --get user.email
或者直接查看全部的配置
git config --list
然后可以使用https克隆项目
git clone github.com/用户名/仓库名.git
或者使用ssh克隆(需要先配置ssh)
git clone git@github.com:用户名/仓库名.git
访问控制
在新版本中,如果你需要拉取一个私有仓库,github不再允许直接通过命令行验证用户名和密码,必须使用用户令牌或者ssh
用户令牌
登录github账户
点击右上角的头像,然后选择Settings
在左侧边栏中点击Developer settings
在左侧边栏中点击Personal access tokens
在左侧边栏中选择Tokens(classic)
点击Generate new token,选择Generate new token(classic)
为令牌设置名称和过期时间,并添加权限
点击Generate token,生成令牌
令牌生成成功,此时需要好好保存,因为这个令牌只会显示一次
然后,拉取项目需要输入密码的时候,提供这个令牌即可
SSH
如果不愿意每次输入用户名和密码,希望更容易的使用仓库,可以使用ssh
生成密钥,ssh-keygen -t ed25519 -C "你的邮箱地址",根据提示输入密码保护,或者不输入
找到生成的文件”id_ed25519.pub“,复制该文件中的内容
登录github,同样选择settings,找到其中SSH and GPG keys
选择New SSH key
填写一个标题,把刚刚复制的文件内容粘贴进Key中
现在,你就可以无需使用用户名和密码拉取项目了
注意:在这个过程中,多种密钥类型都是被允许的,如果你不想使用ed25519,也可以选择更传统,更常见的ssh-rsa
常用操作
- git clone:用于克隆一个远程仓库的内容到本地
- git status:显示当前工作目录和暂存区的状态,如哪些文件被修改了但还没提交
- git add:将改动的文件添加到暂存区,准备进行提交
- git commit:将暂存区的更改记录到仓库历史中,通常附带一条提交信息(git commit -m "信息")
- git push:将本地的分支更改推送到远程仓库
- git pull:从远程仓库获取最新版本并自动尝试合并到当前分支
- git branch:列出、创建或删除分支
- git checkout:切换到其他分支或恢复工作目录文件
- git switch:2019年的新命令,分离了git checkout切换分支的功能
- git merge:将一个分支的更改合并到当前分支
- git log:显示当前分支的版本历史
- git diff:显示文件修改的具体差异
- git revert:生成一个新的提交,这个提交取消了某个旧提交的所有更改
- git reset:将HEAD(当前分支的最新提交)回退到指定状态,并可选择性地更改暂存区或工作目录(git reset --hard HEAD^)
- git remote:管理与远程仓库的连接
转载自:https://juejin.cn/post/7398462127441723401