Git、Github
1、Git和Github分别是什么
Git是一个运行在你电脑上的版本控制软件,而Github是基于Git这个版本控制软件打造的代码托管网站。
Git的三个概念:提交commit.仓库repository.分支branch
提交commit:为了保存我们对代码的迭代,以便新写的代码让我们感到后悔时可以回滚到之前正确的代码版本,回到开心的状态。即将代码的更改以提交(commit)的形式保存在仓库里,以便后悔。
仓库repository:在本地把文件夹初始化成一个仓库,这样后续的提交就可以放在这个仓库里了。
分支branch:用于分工协作,不同的人写不同的分支,最后可以合起来。
Github:由于Git是一个本地软件,Git的仓库是初始化在自己的本地的,那样别人想和你一起开发就要用你的电脑写,很不方便。所以Github就是用来托管你的代码,以便其他人在自己的电脑上写完代码也可以提交到你的仓库里去。
2、Git的使用
官网下载Git到本地安装即可,可以在安装时指定使用vscode作为默认编辑器。Git安装可以参考如下教程:
详解 Git 安装过程的每一个步骤https://blog.csdn.net/mukes/article/details/115693833
注意如果安装路径不是默认,需手动添加环境变量:
安装好Git之后在settings.json文件中加入下面的字段,这样才能使用git的bash终端(不加也行,默认的powershell也会把命令解释到git bash执行)。
"terminal.integrated.profiles.windows": {"git-bash": {"path": "D:\\Tools_Study\\Git\\bin\\bash.exe",}},"terminal.integrated.defaultProfile.windows": "git-bash"
clone开源项目到本地
1.复制仓库里绿色Code按钮下的HTTPS链接;
2.回到本地创建合适的文件夹,右键Git Bash Here,会在当前目录下唤醒下载好的Git Bash
3.输入git clone +复制的链接即可远程拉取(即下载)到本地
(也可以直接在GitHub仓库页面一键download zip.
Git 本地commit操作
Git commit的原理图示:
即要从工作区add至暂存区,再从暂存区commit到仓库。
Git本地commit操作:
命令行操作:
git add -A #把当前工作区的所有文件都添加到暂存区
git commit -m "提交信息" #把暂存区的文件提交到 仓库中,
#那么此时就把你的更改记录在案了,就可以进行后悔操作回滚了
vs code图形化操作:
添加到暂存区:左侧源代码管理器栏(图标为小叉子)内更改栏的 +图标 ,点击即可实现git add -A 操作,也可以i选择个别文件点击+图标
提交到仓库中:源代码管理栏下面的消息框,输入描述信息 按CTRL+enter即可
查看提交的历史记录
命令行操作:git log --stat
vscode操作:使用GitLens supercharges插件就会出现commits一栏,在其中查看提交的历史记录。
维护项目回滚操作
工作区回滚:
git checkout <filename>
撤销最后一次提交:
git reset HEAD^1
分支操作
以当前分支为基础新建分支:git checkout -b <branchname>
列举所有的分支:git branch
单纯地切换到某个分支:git checkout <branchname>
删掉特定的分支:git branch -D <branchname>
合并分支:git merge <branchname>
远程操作(本地Git仓库托管到Github)
推送当前分支最新的提交到远程:git push
拉取远程分支最新的提交到本地:git pull
3、Github的使用
下载开源项目到本地:一键download zip.
注意此处download zip与命令行clone方式的区别是:clone下来的是一个仓库,download下来的只是一个文件夹。勾选隐藏的文件选项时可以看到clone下来的仓库内有一个.git的文件夹,而download下来的没有。可以通过git init命令来初始化这个download下来的文件夹,会发现新增一个.git文件夹,即一个普通的文件夹成为了仓库,后面就可以通过以commit的形式提交来保存迭代版本了。
查看迭代版本(即commit历史):绿色Code按钮下方有一个时钟图标2 commits点进去就可以看到版本迭代修改记录。
查看分支:仓库页面左上角叉子图标main
查看☆star数量,查看README文档,查看issue,查看开源协议(是不是MIT协议)。
4、开源项目搜索技巧
找开源项目的一些途径
• https://github.com/trending/
• https://github.com/521xueweihan/HelloGitHub
• https://github.com/ruanyf/weekly
特殊的查找资源小技巧-常用前缀后缀
• 找百科大全 awesome xxx
• 找例子 xxx sample
• 找空项目架子 xxx starter / xxx boilerplate
• 找教程 xxx tutorial
5、Git + vscode
插件: Git History Diff GitLens supercharges
Git、Github相关推荐
- Git、GitHub、GitLab三者之间的联系以及区别
Git.GitHub.GitLab三者之间的联系以及区别 在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制 ...
- 【Git、GitHub、GitLab】十 将git仓库备份到本地
上一篇文章学习记录了工作中常用的一些git命令,点击链接查看:[Git.GitHub.GitLab]九 工作中非常重要的一些git用法 文章目录 1 git的传输协议 2 如何将git仓库备份到本地 ...
- 【Git、GitHub、GitLab】九 工作中非常重要的一些git用法
上一篇文章学习了 如何修改commit的message,点击链接查看:[Git.GitHub.GitLab]八 如何修改commit的message 注意:下面的'–' 都是两个'-'组成 本文介绍一 ...
- 【Git、GitHub、GitLab】七 git中分支的删除以及出现分离头指针的情况
上一篇文章学习了GIT中commit.tree和blob三个对象之间的关系,点击链接查看:[Git.GitHub.GitLab]六 GIT中commit.tree和blob三个对象之间的关系 文章目录 ...
- 【Git、GitHub、GitLab】五 git中裸仓库.git下的内容
上一篇文章学习了git的文件重命名与git -log 的系列命令的使用方法.点击链接查看上一篇文章:[Git.GitHub.GitLab]四 Git文件重命名的简单方法以及使用git log查看版本演 ...
- 【Git、GitHub、GitLab】四 Git文件重命名的简单方法以及使用git log查看版本演变历史
上一篇文章学会了使用GIT四次提交建立一个有模有样的仓库.点击链接查看:[Git.GitHub.GitLab]三 Git基本命令之创建仓库并向仓库中添加文件. 本片文章记录git的文件重命名的简单方法 ...
- 【Git、GitHub、GitLab】三 Git基本命令之创建仓库并向仓库中添加文件
前两篇文章已经学会了Git的基本命令与创建仓库的命令,点击链接查看上一篇文章:[Git.GitHub.GitLab]二 Git基本命令之建立Git仓库,本篇文章就来创建一个有模有样的仓库.该仓库中的代 ...
- 【Git、GitHub、GitLab】二 Git基本命令之建立Git仓库
上一篇文章学习了Git的安装与最小配置:[Git.GitHub.GitLab]一 Git安装与Git最小配置 文章目录 建立Git仓库 建立Git仓库 有两种方式可以建立Git仓库: 用Git之前已经 ...
- Git、Github、Gitee、GitLab学习笔记
文章目录 Git.Github.Gitee.GitLab学习笔记 前言 一.Git 1.Git概述 2.Git基本操作介绍 2.1 安装&卸载 2.2 启动 3.Git的基本使用 3.1 GI ...
- git、github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目
git.github保姆级教程(手把手交)以及如何在github上提交pr,参与开源项目 一.git的安装 直接参考 git官方网站:https://git-scm.com/ 二.git的使用(从新手 ...
最新文章
- 2.1 帮助命令、用户管理、压缩
- 把 SOAP 服务转化为 REST 服务(REST Service 的最佳实践,第 3 部分)
- Flask实战1-轻博客
- Java黑皮书课后题第10章:*10.17(平方数)找出大于Long.MAX_VALUE的前10个平方数。平方数是指形式为n^2的数
- PAT (Basic Level) Practice (中文)1003 我要通过! (20 分)
- RocketMQ消息发送及消费的基本原理
- SCCM 2012系列3 安装SCCM 2012
- python中argsparse_Python中的argparse模块
- MATLAB 遗传算法求解约束优化问题
- 敖丙大佬的《吐血整理》-顶级程序员书单集 JAVA
- 如何成为数据分析师?小白这样做,快速入门数据分析
- 写个鸭子类方法java_小黄鸭系列java基础知识 | Java基本语法
- Shiro记住我无效,被拦截;
- 自动化学科前沿讲座分享,作业,自动化与人工智能
- 终于明白了AOP中的方面是什么意思
- Angular 2 升级到 Angular 5
- 从后端到前端的转变:如何选择框架?
- Hanoi塔问题图文详解
- 闪耀暖暖的3D建模真好吗?
- 淘宝API_item_cat_get - 获得淘宝商品类目