Git学习笔记

  • 1、Git和Linux的历史
  • 2、常用的Linux命令
  • 3、Git基本理论(核心)
    • 工作流程:
  • 4、Git项目搭建
    • 本地仓库搭建
  • 5、Git文件操作
    • 忽略文件
  • 6、GitHub的使用
    • 1、设置本机绑定ssh公钥,实现免密码登录
    • 2、使用GitHub新建一个仓库

1、Git和Linux的历史

这个大佬就是Linux和Git之父,Linus Benedict Torvalds(林纳斯·本纳第克特·托瓦兹)。

Linux内核开源项目有很广泛的参与者。绝大多数的Linux内核维护工作都花在了提交补丁和保存文档的繁琐事务上(1991 - 2002年)。到了2002年,整个项目组开始启用一个专有的分布式版本控制系统Bitkeeper来管理和维护代码。

由于Linux社区中有很多大佬!那些大佬尝试破解研究Bitkeeper,在2005年,开发Bitkeeper的商业公司同Linux内核开源社区的合作关系结束,他们收回了Linux内核社区免费使用的权利。

不给用就不给用呗,我Linux系统都做出来了,再做一个管理维护代码的系统有何难,然后Linus花了两周时间开发出了Git,什么是大神啊,这就是大神,大学期间开发了Linux系统,只用两周开发出至今我们都在使用的Git,简直成神了。

Git是世界上最先进的分布式版本控制系统

2、常用的Linux命令

1、cd:改变目录

2、cd…退回到上一个目录,直接cd进入目录

3、pwd:显示当前所在的目录路径

4、ls:列出当前目录中的所有文件

5、touch:新建一个文件夹,如touch index.js 就会在当前目录下新建一个
index.js文件

6、rm:删除一个文件,rm index.js 就会把index.js文件删除

7、mkdir:新建一个目录,就是新建一个文件夹

8、rm -r:删除一个文件夹,rm -r src删除src目录
rm -rf / :切勿轻易尝试,递归删除操作,能删除电脑中所有文件

9、reset:重新初始化终端/清屏

10、clear:清屏

11、history:查看命令历史

12、help:帮助

13、exit:退出

14、#表示注释

3、Git基本理论(核心)

Git本地有三个工作区域:工作目录(working directory)、暂存(stage/index)、资源库(repository或Git directory)。如果加上远程的Git仓库(remote directory)就可以分为四个工作区域。

workspace:工作区,平时存放项目代码的地方

index/stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

repository:仓库区(本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

remote:远程仓库,托管代码的服务器,可以简单的认为是你项目中的一台电脑用于远程数据交换。


注意这是个隐藏文件夹,需要手动设置才能看到

工作流程:

1、在工作目录中添加,修改文件;
2、将需要进行版本管理的文件放入暂存区域;git add .
3、将暂存区的文件提交到git仓库;git commit

4、Git项目搭建

工作目录(WorkSpace)一般是你希望Git帮助你管理的文件,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

这六个命令建议记住。

本地仓库搭建

1、在当前目录新建一个Git代码库
$ git init

2、克隆远程目录,将远程服务器上的仓库完全镜像一份到本地
$ git clone [url]

5、Git文件操作

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交现在还不想提交的文件,或者要提交的文件没提交上。

Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add 状态变为 staged。

Unmodify:文件已入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改,就变为Modified,如果使用 git rm 移出版本库,则成为 Untracked 文件

Modified:文件已修改,仅仅是修改,并没有进行其他操作,这个文件也有两种去处,通过 git add 可进入暂存 staged 状态,使用 git checkout 则丢弃修改过,返回到Modified状态,说白了就是从库中取出文件,覆盖当前修改。

Stage:暂存状态,执行git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态。执行 git reset HEAD filename取消暂存,文件状态为 Modified。


上图文件没有被跟踪,下图文件被跟踪了,变成待提交状态。

git commit -m 提交暂存区中的内容到本地仓库

一般我们会把代码全部放在工作目录下。

忽略文件

有时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立".gitignore"文件,此文件有以下规则,以例子说明:

#为注释 解释
*.txt(其他文件也是一样) #忽略所有 .txt文件
!lib.txt # lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包含其他目录temp
build/ #忽略build/目录下所有文件
doc/*.txt # 忽略doc/notes.txt但不包括doc/server/arch.txt

6、GitHub的使用

国内有个gitee,用法和GitHub是一样的,由于GitHub是国外网站,访问速度会比较慢,有时候甚至进不去,所以也可去使用gitee。

1、设置本机绑定ssh公钥,实现免密码登录

GitHub是远程仓库,我们平时工作的是本地仓库。

用户目录下新建.ssh文件,使用ssh-keygen -t rsa生成公钥,一直回车直到公钥生成完毕。

打开.pub的那个文件,把里面的内容复制到ssh,设置标题,就OK了
.

2、使用GitHub新建一个仓库


然后

Git学习笔记(复习专用,B站狂神说)相关推荐

  1. Git学习笔记:远程仓库

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  2. Git 学习笔记:6 GitHub

    Git 学习笔记:6 GitHub 账户的 创建和配置 SSH访问 头像 邮件地址 两步验证 对项目做贡献 派生(fork)项目 GitHub 流程 创建合并请求 利用合并请求 合并请求的进阶用法 将 ...

  3. ​​​​​​​Git学习笔记与IntelliJ IDEA整合

    2019独角兽企业重金招聘Python工程师标准>>> Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:htt ...

  4. Git 学习笔记:自定义Git(完)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  5. Git学习笔记:标签管理以及GItHub

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  6. Git学习笔记:分支管理3

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  7. Git学习笔记:分支管理(2)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  8. Git学习笔记:分支管理(1)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  9. Git学习笔记:修改

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

最新文章

  1. ASP.NET MVC – 模型简介
  2. NLTK命名实体识别NER
  3. Strings in the Pocket
  4. VTK:图表之TreeToMutableDirectedGraph
  5. python教程下载百度云盘到手机_Python教程百度云盘哪里找
  6. 东华大学java期末_东华大学数据结构期末复习题!.doc
  7. 使用 WordPress 自定义字段功能为文章添加下载按钮
  8. apache commons Java包简介
  9. Ubuntu下安装osu
  10. 他教全世界程序员怎么写好代码,而且将所有答案写在这本书里
  11. php网页抓取浏览者手机号码_提供一个网页抓取hao123手机号码归属地的例子
  12. 如何禁用计算机休眠,电脑如何关闭休眠功能,教你电脑如何关闭休眠功能
  13. 19964 [HAOI2006]聪明的猴子
  14. NUC980 PWM
  15. 微信公众号数据分析报告
  16. 电脑 蓝屏报错:SYSTMEM SCAN AT RAISED IRQL CAUGHT IMPROPER DRIVER UNLOAD
  17. cannot find -lGL(CentOS8 QT5.12.12)
  18. greenplum麒麟安装笔记
  19. java 获取本年第一天_java获取年份的第一天和最后一天
  20. 2022全网最全的持续集成基础【你知道的和不知道都在这里】

热门文章

  1. 怎样重启Gunicorn
  2. 【题目】四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和。 如果把0包括进去,就正好可以表示为4个数的平方和。(输出最后一个序列)
  3. JAVA AIO编程
  4. MyBatis映射文件如何给数据库的int类型字段“插入”string类型记录
  5. 图像质量评价的方法和意义
  6. Python 语法错误 except Exception, e: ^ SyntaxError: invalid syntax
  7. datalist图片九宫显示
  8. java 检测u盘_java实现监听u盘示例分享
  9. 解决Ubuntu 20.04 播放视频,因缺少编解码器无法处理音频/视频流,以及解决‘因没有公钥,无法验证下列签名’问题
  10. 完美免费在线去背景图片,便捷变速。在5秒内消除或者替换图像背景,智能调整颜色,所有操作都在浏览器完成,无需上传图像 - BgSub