当前位置: 首页 > article >正文

GitHub教程

目录

  • 1.是什么?
  • 2.安装
  • 3.创建库
  • 3.增删改查
  • 4.远程仓库
  • 5.分支
  • 6.标签
  • 7.使用流程
  • 8.总结


1.是什么?

  • Git 是一个命令行工具,但也有许多图形用户界面可用。本地仓库,安装包下载到本地。
  • Git 的一个流行 GUI 是 GitHub,它可以方便地管理存储库、推送和拉取更改以及合并代码。

二者区别


2.安装

下载安装、配置姓名、邮件

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

3.创建库

1.创建库——导航到要保存的目录创建一个库(cd 路径—初始化)

git init

2.添加文件到库——提交单个文件到暂存区

git add filename

在这里插入图片描述在这里插入图片描述
3.提交到Github——提交整个文件夹的文件到版本库-m "修改注释"

git commit -m "Commit message here"

3.增删改查

  • 增加:git add <XXX> 提交文件到暂存区;git commit -m "说明"提交文件到版本库;
  • 删除:git rm <XXX>从版本库删除一个文件(本地也被删除<已暂存的话可找回>)
  • 修改: 本地与版本库的文件差别git diff
  • 查询: 当前工作区状态git status(红色待暂存;绿色暂存待提交;On branch master:提交完成);
  • 日志: git log查看现存最新的提交版本(删除的没有);--pretty=oneline添加后缀查看更清晰(确认要回退的版本ID)
  • 恢复:git reset --hard HEAD^ “几个”^”退几个版本(HEAD ^=commit ID<可直接写3个ID的开头…>);HEAD指向的版本就是当前版本
  • 归档:git reflog查看所有提交的版本ID(包括删除的) ; 先找到ID,再用恢复命令到任意版本;

4.远程仓库

添加SHH公钥(推送的提交确实是你推送的,而不是别人冒充的)

  • cmd添加SSH秘钥_ssh-keygen -t rsa -C "your@mail"
  • 目录下获取公共的秘钥文件_C:\Users\Administrator\ .ssh\id_rsa.pub(id_rsa是私有秘钥)
  • GitHub设置中找到SSH树添加秘钥文件内容
  • 多台电脑推送,设置多个公共秘钥

创建远程库

  • 创建一个远程库_New repository(建议手动勾选自述)
  • 本地库(git bash<右击属性打开窗口>)与远程库相关联_git remote add origin git@github.com:账户名/仓库名.git; git remote rm origin:删除本地远程关联
  • 推送内容到远程库(远程同步)_git push -u origin master

远程库下载

  • 知道仓库的地址,然后使用git clone命令克隆_git clone git@github.com:账户名/仓库名.git

5.分支

分支:多个任务同时进行(建议每进行一个任务都创建一个分支),最后合并合并后再删掉分支,和直接在master分支上工作效果是一样的。

创建分支:

  • git branch(查看分支)
  • git branch <name>(创建分支);
  • git switch -c <name>(创建分支并切换);
  • git checkout/switch <name>(切换分支);
  • git branch -d <name>(删除分支);git branch -D <name>(强行删除未合并的分支)
  • git push origin --delete <name> (远程删除分支)

合并分支:

  • git merge <name>(快进<不留痕迹>方式合并分支);
  • git merge --no-ff -m "描述" <name> (普通合并分支,可查看合并历史)
  • git log --graph(命令可以看到分支合并图)
  • 合并冲突:Git合并失败的文件手动编辑为我们希望的内容,再提交,再合并。

临时分支(改bug):dev当前分支未完成不想提交可以先隐藏干别的分支

  • git stash(隐藏当前分支)
  • git switch master(切换主分支);git switch -c <bug101>(创建fix bug分支)修改-提交-合并-删除分支后切换到dev分支;
  • git stash pop(恢复当前分支)
  • git cherry-pick <ID>(master主分支改完bug后在dev分支复制更改)

多人协作(pull/push)

  • git remote -v(查看远程版本)没有推送权限,看不到push的地址
  • git push origin dev/master(推送自己的分支)除协作分支外没必要都推送
  • git pull(拉取合并)推送失败,将最新的提交从origin/dev抓下来,然后,在本地合并, 解决冲突,再push :
  • git branch --set-upstream-to <branch-name> origin/<branch-name>(创建本地分支和远程分支的链接关系)无法pull,需分支关联,再pull

6.标签

将Commit的一串ID创建一个别名,好找提交的版本

打标签

  • git branch <dev>:进入分支;git tag -a <V1.0> -m "blablabla...":指定标签信息(标签排序是以字母顺序的)
  • git push origin <V1.0>:推送标签到远程库;git push origin --tags:推送所有未推送的标签

查标签

  • git tag:查看所有标签
  • git show <V1.0>:查看标签信息

删标签

  • git tag -d <V1.0>:删除V1.0本地标签;
  • git push origin :refs/tags/<V1.0>:删除远程标签

7.使用流程

在这里插入图片描述


8.总结

请添加图片描述


学习链接


http://www.kler.cn/a/574516.html

相关文章:

  • 深入理解CAS与乐观锁:Java高并发编程实战指南
  • 视频输入设备-V4L2的开发流程简述
  • css梯形tab
  • SpringMVC请求映射:@RequestMapping的高级用法
  • js 全局的 isNaN和Number.isNaN的区别
  • 深度学习模型组件-RevNorm-可逆归一化(Reversible Normalization)
  • 批量修改或设置 Word 标题、主题、标记、作者、总编辑时间等元数据
  • 蓝桥杯C组真题——巧克力
  • 【3.2-3.8学习周报】
  • MacOS Big Sur 11 新机安装brew wget python3.12 exo
  • Dockerfile概述及编辑
  • 【Oracle学习笔记】2.数据表
  • 2025-03-06 学习记录--C/C++-PTA 习题6-6 使用函数输出一个整数的逆序数
  • 深度解码!清华大学第六弹《AIGC发展研究3.0版》
  • 网络协议:HTTP协议
  • 23中设计模式之观察者模式
  • 计算机基础:二进制基础05,八进制简介
  • 如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)
  • 【硬件IIC与软件IIC在程序实现上的核心区别】结合STM32F103C8T6标准库代码进行对比分析
  • EasyDSS视频推拉流/直播点播平台:Mysql数据库接口报错502处理方法