1.git目前是世界上最先进的分布式版本管理器。
2.版本 控制:
(1)集中式版本控制:集中存放在中央服务器上,首先从中央服务器上获取最新的版本,完成自己的内容之后推送给中央服务器。最大的特点是必须连网才能够继续工作。
(2)分布式版本控制:没有所谓的中央服务器,每个人的电脑都是一个完整的版本库。我们只需要把我们的修改内容发送给对方,就能够看到对方的修改。
(3)与集中式版本控制相比,分布式版本控制要安全的跟多。
3.git安装
(1)windows系统下的安装:在最新的官方网站上下载git安装包,安装完成之后,需要输入一下命令:
git config --global user.name "author" 创建git用户名称,方便以后查看;
git config --global user.email "email address" 添加邮箱地址,方便修改的推送
因为git是分布式版本控制系统,每个机器都需要有email和name,global参数表示这台机器上所有的git仓库都使用这个配置;
4.创建版本库:文件都可以被git管理起来,每个文件的修改和删除给他都会进行跟踪的,以便在需要的时候进行还原。
(1)首先在我们指定的目录下面创建 我们我们需要 创建仓库的文件夹,使用 mkdir + "文件夹名称";
(2)进入当当前创建的文件夹(cd +"文件夹名称"),使用git init创建git仓库,所创建的git仓库是一个空的仓库。我们 使用
ls -al可以在我们的文件夹上查找到一个.git的文件夹;
5.文件基本操作
(1)vi +"文件名称",编辑我们所创建的文件写入内容;
(2)使用git add +文件名称,把文件添加到我们的仓库中去。
(3)使用git commit -m "提交说明",把文件提交到仓库。使用commit可以一次提交多个不同的文件,我们可以使用commit一次提交多个文件。
(4)我们使用git status 命令查看当前文件所提交的状态,时刻掌握当前仓库文件的状态。我们在使用git add 和git commit 的时候,我们一般是需要使用git status 进行当前状态的查看。
6.版本回退
(1)使用git log 可以查看当前所提交的版本数量,git log 显示的是从最近到最远的提交日志。一般是从上到下的显示版本。
(2)在 我们使用git log的时候,会在前面书此案一大串的类似于16进制的数字,那个就是每次所提交的版本号,一般只取前面的几位进行区分。每次提交一个版本,git就会做一次相应的改变。
(3)使用git reset --hard +版本号,直接回退到你想回到的任何位置;
(4)git的版本回退速度是非常快的,在git的内部有一个指向当前版本的指针,当前版本是谁,该指针就指向谁。
(5)使用git reflog命令查看你每次提交的历史记录;
7.工作区和暂存区概念
(1)工作区:一般指我们创建的新的文件夹的名称,也就是我们说的存放git仓库的文件夹;
(2)暂存区:通常是指在我们使用git add 命令之后所存放文件的位置,称为暂存区,一般来说我们需要提交的文件都是要放在暂存区的;
(3)git管理的是修改,当你使用git add命令后,在工作区的第一次修改被存放在了暂存区内,准备提交。git只负责将暂存区的内容进行提交,使用git diff进行修改内容的查看;
8.撤销修改
(1)使用git checkout -- 文件名称,把文件在工作区的内容全部撤掉;
(2)当问的文件修改完成之后,还没有使用git add命令添加到暂存区的时候,我们可以使用git checkout -- +文件名称,返回到我们在做修改之前的文件内容;
(3)当我们将我们所修改的文件添加到我们的暂存区的时候,我们需要使用git reset --HEAD +文件名称;紧接着使用git checkout -- 文件名称,返回到我们当前所修改的内容之前;
9.远程仓库的创建
(1)我们在使用远程仓库的时候,我们呢一般会使用到github或者是gitlab或者是码源等远程仓库管理工具。在 使用该工具的时候,我们一般需要添加我们的ssh-key;
(2)添加远程仓库:我们首先在我们的github上创建我们的respository远程仓库;
(3)使用git remote add 本地仓库名称 +git@github.com:shidachao/github远程仓库名称.git
(4)接着只用git push -u 本地仓库名称 master将所修改的内容提交到我们的远程仓库上;
10.git中ssh问题解决思路:
(1)我们首先找到我们的所创建的在我们的电脑上找到一个.ssh的文件夹,将我们里面的koow-host文件删除,
(2)输入ssh-keygen -t rsa -C +"邮箱名称",这地方也会提示我们当前.ssh文件夹所在的位置;
(3)按照第二步所描述的内容,一直点击回车键即可;这让就会在我们的.ssh文件夹下面生成两个文件,打开id_rsa.pub文件,粘贴复制,将内容添加到github文件夹上面;
(4)接着输入ssh -T git@github.com即可;
11.从远程仓库进行克隆:
(1)使用git clone git@github.com:shidachao/github上远程仓库的名称;
12.分支管理
(1)使用git checkout -b 分支名称,创建分支并转换当当前分支下;等同于git branch 分支名称 + git checkout 分支名称;
(2)我们可以在我们创建好的分支上进行操作,在每次的add和commit的时候,只是将我们的修改提交到我们的当前所创建的分支上,如果要讲我们分支上的内容提交到我们的master分支上的时候,我们需要使用git merge +分支名称;合并当前分支;
(3)在进行分支合并的时候,如果我们在合并是没有添加相应的参数时候,我们使用的fast forward方式进行合并,在这种模式下面,删除分支后悔丢掉分支信息;我们在进行分支合并的时候,我们一般需要添加参数,例如:
git merge --no-ff -m "合并分支说明" +分支名称;在我们使用--no-ff的时候,为普通模式可以查看到当前所合并的历史分支信息;
(4)我们可以使用git log 查看当前分支的合并信息或者使用git log --graph查看当前的分支变化状态;
|