学习笔记:Git的历史及基本命令操作
Linux 之父 林纳斯(Linus) 在 1991 年创建了开源的 Linux 系统,随着 Linux 代码量越来越大,合并志愿者提交的代码已经无法依靠人工完成,所以 林纳斯 选择了商业的管理软件 BitKeeper ,来管理 Linux 的代码版本。
在 2005 年,BitKeeper 公司发现,有 Linux 社区的人试图破解 BitKeeper 软件,他们决定收回 Linux 社区的免费使用权。林纳斯 对此事调解数周无果,决定自己搞一个。
他花了十天时间用 C 语言写好了一个开源的版本控制系统,就是著名的 Git。
(先写出一个操作系统,再用 10 天写出 Git,林纳斯已经不能用大神来形容,只能理解为外星人来技术扶贫的)
Git 是一个版本控制系统,可以理解为一个工具,使用之前必须得先下载安装,所以第一步必须要安装。
-
Windows:GitForWindows
-
Mac系统安装:git-osx-installer
-
Linux:在终端输入命令行安装
基本使用:
首先,注册github或码云,并建立仓库Demo;
下面,让我们在本地新建一个文件,最后上传到刚刚创建的仓库中。
打开命令行,在你的工作空间创建文件:
mkdir Demo
cd Demo
vim README.md用 cat
命令查看一下文件内容。
创建文件 OK 了,但现在,Demo 目录还只是一个普通的目录,我们如何用 Git
来控制这个目录?
你只需在 Demo 目录中,输入 git init
即可。
git init
这是 Git
的初始化操作,作用是将一个已存在文件夹,置于 Git 的控制管理之下。
再 ls -la
命令,会发现一个名叫 .git 的目录被创建了,这意味着仓库初始化成功。可以进入到 .git 目录查看下有哪些内容。
提交代码:
Git 提交代码的基本流程是这样的:
- 创建或修改 本地文件
- 使用 git add 命令,将创建或修改的文件添加到本地的 暂存区,这里保存的是你的临时更改
- 使用 git commit 命令,提交文件到 本地仓库
- 使用 git push命令,将本地代码库同步到 远端仓库
使用 git add + 文件名/目录名
命令,可以将你需要同步的文件,添加到本地的暂存区。我们先进入 DEMO 目录,然后把 README.md 文件添加一下:
cd /Demo
git add README.md
git status
,可以检测当前目录和暂存区的状态,查看哪些修改被暂存了:
可以看到我们刚刚 add
的文件已经被初始提交了。
git commit
提交是你工作的一个里程碑 —— 每当你完成一些工作,都可以创建一次提交,保存当前的版本。
这样一来,无论你何时修改了文件,都创建一个新版本的文件,你可以很方便地查看以往所有版本的文件和内容。
在提交之前,你必须先设置你的名字和 email,这是你在提交 commit 时的签名,每次提交记录里都会包含这些信息。
使用 git config 命令进行配置:
$ git config --global user.name "YourName"
$ git config --global user.email "YourEmail@xxx.com"
完成配置后,我们可以创建提交了,请输入:
git commit -m "first commit"
commit
的语法结构是 git commit -m "注释"
,通过上个命令,你创建了一条注释为 “first commit” 的 Git 提交。注意:每次提交,您都必须用 -m + '注释'
编辑注释信息 。它不仅能协助您辨别不同的版本,而且能让你理解,自己当时对文件做了什么修改。
比如当你每次在文件中添加了新的代码后,你可以写一句提交信息:“添加了 XXX 代码” —— 当你一个月后回来看提交记录或者 Git 日志 时,你还能知道当时做了什么。
连接 Github 仓库
使用如下命令,将本地仓库连接到 GitHub 仓库中:
git remote add origin 仓库链接
git remote add
表示通知 Git 去添加一个远程仓库,后面接上的 origin
是这个仓库的小名,方便以后沟通,通常默认用 origin
来表示;最后再接上远程仓库的地址,即你刚刚创建的 Github 仓库链接。
使用 push
可以把本地仓库推送到远端仓库中。
具体命令如下:
git push origin master
分支的概念:分支在多人协作中经常会被用到。Git 管理的项目进程中,有一条默认的主分支 - master
。(想象 Git 是一棵树,master
就是树干,树干上还可以生出很多分支来,如 master 2.0、master 3.0 等)
如果你想要复制一个项目,看看代码,或者把自己的远程仓库复制到本地,可以执行命令:
git clone [url]
学习总结:
更多知识可以去该网站:https://www.shiyanlou.com/。