DDR爱好者之家 Design By 杰米

小编在学习可视化的时候,接触到git,所以这里写一下关于GitHub的有关知识,写这个的目的还是巩固自己的学习,一方面可以提高自己,另一方面回头看一下,有什么更深层次的东西还可以再记录。

首先说一下版本控制软件,它可以让我们能够拍摄处于可行状态的项目的快照,修改项目(如实现新功能)后,如果项目不能正常运行,可以恢复到前一个可行状态。

通过使用版本控制,我们可以无忧无虑的改进项目,不用担心项目因为我们犯错而遭到破坏,对于大型项目来说,这显得尤为重要,但是对于小项目来说,哪怕只包含一个文件的程序,也大有裨益。

GibHub的名字源于Git,Git是一个分布式版本控制系统,让程序员团队能够协作开发项目,Git帮助大家管理为项目所做的工作,避免一个人所做的修改影响其他人所做的修改。你在项目中实现一个新功能的时候,Git将跟踪你对每个文件所做的修改。确定代码可行后,你将提交所做的修改,而Git将记录项目最新的状态,如果你犯了错,想撤销所做的修改,可轻松的返回以前的任何可行状态。GitHub上的项目都存储在仓库中,后者包含与项目相关联的一切:代码,项目参与者的信息,问题和bug报告等

下面讲一下安装Git(小编是windows系统,就只演示windows系统的安装)

 第一步:下载(https://git-for-windows.github.io/),下载好如下图

git进行版本控制心得详谈

第二步:安装过程,此处省略,要想安装可以点击下面链接

Git安装和使用图文教程(分享)

第三步:配置

Git跟踪谁修改了项目,哪怕参与项目开发的只有一个人。为此,Git需要知道你的用户名和电子邮件。你必须提供用户名,但可以使用虚构的电子邮件地址:

git config --global user.name "Username"
git config --global user.email "Username@example.com"

 

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

第四步:创建项目

我们来创建一个要进行版本控制的项目(又称版本库)。在你的系统创建一个文件夹,并将其命名为learngit。

我创建learngit的程序如下:

mkdir learngit #创建文件learngit
cd learngit #进入learngit文件里面
pwd #显示learngit的存在目录

我创建了一个hello.world.py程序,如下:

print("hello world")

第五步:忽略文件

忽略扩展名为.pyc的文件,它是根据.py文件自动生成啊,我们无需让Git去跟踪。这些文件存储在目录__pycache__中,未来让git忽略它,我们创建一个名为.gitignore的特殊文件,(这个文件是以局点打头,没有扩展名,并且让在其中添加下面一行内容)

_pycache_/

git进行版本控制心得详谈

 

第六步:初始化仓库

我们创建了一个文件,并通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in C:/Users/learngit/.git/

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。要是删除这个东西,则丢弃项目的所有记录。

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

也不一定必须在空目录下创建Git仓库,选择一个已经有东西的目录也是可以的。不过,不建议你使用自己正在开发的公司项目来学习Git,否则造成的一切后果概不负责。

第七步:检查状态

在执行其他操作之前,先来看一下状态:

$ git status
On branch master

No commits yet

Untracked files:
(use "git add <file>..." to include in what will be committed)

hello_world.py

nothing added to commit but untracked files present (use "git add" to track)

在Git中,分支是项目的一个版本,从这里的输出我们可以知道,我么位于分支的,master

我们每次查看项目的状态时候,输出的都是我们位于分支master上,接下里的输出表明,我们将进行初始项目的日叫,提交是项目在特定时间的快照。

Git指出了项目中未被跟踪的文件,因为我们还没有告诉他要跟踪那些文件,接下里我们被告知没有任何东西添加到当前提交里面,但我们可能需要将为跟踪的文件加入仓库

第八步:将文件加入到仓库

$ git add .

。。。@"git rm --cached <file>..." to unstage)
new file: hello_world.py

命令  git add .   将项目中未被跟踪的文件都加入到仓库中,它不提交这些文件,而只是让git开始关注他们。现在我们检查这个项目的状态,发现Git找到了需要提交的文件的一些修改,标签 new file  表示这些文件是新加入的。

第九步:执行提交

$ git commit -m "Started project"
[master (root-commit) 5d6ceca] Started project
 1 file changed, 1 insertion(+)
 create mode 100644 hello_world.py

我们在执行   git commit -m "Started project"    的时候以拍摄项目的快照。标志-m 让Git接下里的消息(“Started project")记录到项目中的历史记录中,输出表明我们在分支master 上,而且有一个文件被修改了

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

第十步:查看提交历史

$ git log
commit 5d6cecad80427924b94b14c6fd2bb82a4fa86840 (HEAD -> master)
Author: wangjian <1171737614.qq.com>
Date: Sat Dec 9 20:16:17 2017 +0800
Started project