git与github入门基础(代码片段)

zhangchao162 zhangchao162     2022-12-27     159

关键词:

Git的诞生

  很多人都知道,Linus在1991年创建了开源的Linux。从此,Linux系统不断发展,已经成为最大的服务器系统软件了。Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?

  事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,而且必须联网才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。

  不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

  历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

 

 

Git安装

  最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。

 

Linux上安装Git

  首先,你可以试着输入git,查看系统是否安过Git:

1 $ git
2 The program git is currently not installed. You can install it by typing:
3 sudo apt-get install git

  像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。如果用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装。

  如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./configmakesudo make install这几个命令安装就好了。

 

Windows上安装Git

  在Windows上使用Git,可以从Git官网下载安装程序,然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

技术分享图片

  安装完成后,还需要最后一步设置,在命令行输入:

1 $ git config --global user.name "Your Name"
2 $ git config --global user.email "[email protected]"

  因为Git是分布式版本控制系统,所以每个机器都必须自报家门:你的名字和Email地址。注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

 

创建版本库

  什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

1 $ mkdir learngit
2 $ cd learngit
3 $ pwd
4 /Users/michael/learngit

  注意:如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

  接下来,通过git init命令把这个目录变成Git可以管理的仓库:

1 $ git init
2 Initialized empty Git repository in /Users/michael/learngit/.git/

  这样Git就把仓库建好了,而且是一个空的仓库。可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,这个目录默认是隐藏的。没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。当然,不一定必须在空目录下创建Git仓库,选择一个已经有东西的目录也是可以的。

 

添加文件到版本库

  所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

  不幸的是,Microsoft的Word格式是二进制格式,因此版本控制系统是没法跟踪Word文件的改动的,如果要真正使用版本控制系统,就要以纯文本方式编写文件。因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码。建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

  使用Windows的Git时,应特别注意:

  千万不要使用Windows自带的记事本编辑任何文本文件!!原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题!比如,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议使用Notepad++代替记事本。记得把Notepad++的默认编码设置为UTF-8 without BOM即可。

  言归正传,现在我们编写一个sayHello.py文件,内容如下:

1 def sayHello(name):
2     print("Hi,", name)

 

  一定要放到learngit目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。

  第一步,用命令git add告诉Git,把文件添加到仓库:

1 $ git add sayHello.py

  执行上面的命令,没有任何显示,说明添加成功。

  第二步,用命令git commit告诉Git,把文件提交到仓库:

1 $ git commit -m "creat sayHello.py file"
2 [master (root-commit) eaadf4e] creat sayHello.py file
3  1 file changed, 2 insertions(+)
4  create mode 100644 sayHello.py

  简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

 

 

  参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


git基础与github(代码片段)

目录基础介绍Git与GitHubgit使用git架构git操作Git常用指令使用GitHub目的基本概念基本动作基本页面IDEA配置github并上传项目配置github在IDEA中设置Git在IDEA中设置GitHub初次提交代码到Github修改代码并提交总结过程中遇到的问题及解决方... 查看详情

git与github入门级(代码片段)

今天我们来搞一下Git这东西虽然没啥搞头儿,但是开发当中还必须得会用,谁让你我都是苦逼的开发呢~~~~一、下载与安装这玩意简单,给你赋个图片,自己研究一下~~~~1.官网:https://git-scm.com/downloads2.下载:3.主要事项:还有安... 查看详情

git和github快速入门(代码片段)

Git入门简介Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的分布式版本控制系统。工具准备工具Git下载地址:https://git-scm.comGit配置配置的内容主要是:用户名和邮箱gitconfig--global--adduser.name<用户名>gitconfig-g... 查看详情

git入门(代码片段)

Github简介github是通过Git进行版本控制的软件源代码托管服务平台,于2008年4月10日正式上线。github除了Git代码仓库托管及基本的Web管理界面以外,它还提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括... 查看详情

git到github的使用入门(代码片段)

1、使用GitHub基本概念(一)目的借助github托管项目代码仓库(Repository)仓库的意思,即你的项目,你想在GitHub上开源一个项目,那就必须要新建一个Repository,如果你开源的项目多了,你就拥有了多个Repos... 查看详情

git入门(代码片段)

目录Github命令操作配置基本信息向仓库添加文件修改仓库文件删除文件远程管理git仓库Error错误代码:![rejected]master->master(fetchfirst)Github命令操作配置基本信息配置用户名:gitconfig--globaluser.name‘Liu0506‘配置用户邮箱信息:gitconfig--g... 查看详情

git&github快速入门(代码片段)

 本节内容github介绍安装仓库创建& 提交代码代码回滚工作区和暂存区撤销修改删除操作远程仓库分支管理多人协作github使用忽略特殊文件.gitignore  为什么要用版本控制?假设你在的公司要上线一个新功能,你们... 查看详情

git&github快速入门(代码片段)

本节内容github介绍安装仓库创建& 提交代码代码回滚工作区和暂存区撤销修改删除操作远程仓库分支管理多人协作github使用忽略特殊文件.gitignore  为什么要用版本控制?假设你在的公司要上线一个新功能,你们开发... 查看详情

git入门到高级系列1-git安装与基础命令(代码片段)

视频课程地址腾讯课堂为什么要进行项目文件的版本管理代码备份和恢复团队开发和协作流程项目分支管理和备份git是什么?git是一个分布式的版本控制软件。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版... 查看详情

❤️❤️爆肝3万字整理小白入门与提升分布式版本管理软件:git,图文并茂(建议收藏)--已码一万字❤️❤️(代码片段)

...用基本操作gitaddgitcommitgitdiffgitloggitresetgitmvcheckoutgittagclearGithub使用教程什么是Github安装Github添加远程仓库找到key打开Github官网设置开始创建远程仓库创建后push什么是 查看详情

go语言入门指南零基础入门go语言|golang入门指南(代码片段)

文章目录写在前面全部练习项目都在github这个仓库中`https://github.com/CocaineCong/Golang-Learning`1.【第一轮】基础部分1.1教程1.2练习2.【第二轮】网络爬虫2.1教程2.2mod管理第三方包2.3git机制3.【第三轮】备忘录4.【第四轮】商城or视... 查看详情

go语言入门指南零基础入门go语言|golang入门指南(代码片段)

文章目录写在前面全部练习项目都在github这个仓库中`https://github.com/CocaineCong/Golang-Learning`1.【第一轮】基础部分1.1教程1.2练习2.【第二轮】网络爬虫2.1教程2.2mod管理第三方包2.3git机制3.【第三轮】备忘录4.【第四轮】商城or视... 查看详情

git与github(代码片段)

git与github相信即将使用git的人一定会了解github,可以说二者是相辅相成的,github作为远程仓库需要与本地进行连接,下面我们便一起来看连接的方式:1:github账号:首先必须要有一个github账号,如果没有请自行注册:https://github... 查看详情

git学习记录力做全网最强入门教程(代码片段)

目录Git学习记录力做全网最强入门教程什么是GitHub?什么是Git?Git的配置Git的安装(只介绍windos操作系统下)Git的配置至此我们的入门教程到此结束,更新中级教程要等欧Git学习记录力做全网最强入门教程什么是GitHub?若您在不知道Gi... 查看详情

git入门(代码片段)

...管理系统,可以应付各种复杂的项目开发需求。2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP 查看详情

git与gitlab(代码片段)

...管理工具,并在此基础上搭建起来的web服务。GitLab和GitHub一样属于第三方基于Git开发的作品(私有仓库),GITLAB免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码 查看详情

git与gitlab(代码片段)

...管理工具,并在此基础上搭建起来的web服务。GitLab和GitHub一样属于第三方基于Git开发的作品(私有仓库),GITLAB免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码 查看详情

git与github入门

一、git起步https://www.runoob.com/git/git-install-setup.html1、下载git(Windows)2、安装GUI(TortoiseGit)3、查看git配置:$gitconfig--list二、git本地仓库https://www.runoob.com/git/git-create-repository.html1、建立本地仓库:新建仓库:$cddir 查看详情