Git 版本控制系统:需要填写用户名和邮箱作为一个标识,git config --global 参数,有了这个参数,标识你这台机器上所有的Git仓库都会使用这个配置,也可以对某个不同的用户名和邮箱。
进入D盘:创建一个目录Git,使用命令git init把这个目录变成git可以管理的仓库,这个时候这个目录下会多出一个.git的目录,这个目录时Git来跟踪管理版本的
使用pwd命令显示当前的目录。
在版本库Git目录下创建一个新的记事本文件Hello.txt。
第一步:使用git add Hello.txt添加到暂存区里面去。如果没有任何提示就证明已经添加成功了。
第二步:用命令git commit 告诉Git,并且将文件提交到仓库。执行命令git commit -m “Hello.txt提交20191207”。
第三步:使用命令git status来查看是否还有文件未被提交。
第四步:在文件Hello.txt中最后一行添加文字,进行更新。
执行命令:git diff Hello.txt可以查看文件到底是修改了什么内容。
提交之前查看一下文件的状态,提交之后再次查看一下文件的状态。显示没有可以调教的文件。
再次对文件进行修改,查看历史记录
执行命令git log查看历史记录,日志信息,并且从输出信息可以看出,每次提交的版本号,作者,邮箱和修改日期等的设置。最近修改的记录处于最上方。
Git log命令显示的是从最近到最远的显示日志信息,如果感觉上面的显示的信息太多,可以执行命令:git log --pretty=oneline
现在就可以使用命令将版本回退到上一个版本,要使用什么命令呢?可以使用以下两种命令:第一种是:git reset --hard,如果是回退到上上一个版本的话,,就多添加一个,如果是回退到前100个版本的话,就可以使用命令操作:git reset --hard HEAD~100即可
查看回退后的文件的内容:
之后可以继续使用git log来查看历史记录信息
同时还可以将版本回退到最新的版本,可以通过版本号进行回退,使用命令:git reset --hard 版本号,但是如果已经关掉一次命令行或者是最新的内容的版本号我并不知道了。就可以通过通过以下命令获取版本号:git reflog。
解释工作区与暂存区的区别:
工作区:就是在电脑上看到的目录,就像目录Git目录里的文件(.git)隐藏目录版本库除外,或者是以后需要在重新建的目录文件等等都属于工作区的范畴。
版本库:工作区有一个隐藏的目录.git,这个不属于工作区,这是版本库。其中版本库中存有很多东西,其中最重要的就是stage(暂存区),还有就是为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
使用Git提交文件到版本库有两步:
第一步:是使用git add把文件添加进去,实际上就是将文件添加到暂存区。
第二步:使用git commi提交更改。实际上就是把暂存区的所有内容提交到当前的分支上。使用git commit -m 将文件一次性提交到暂存区。之后就可以使用命令git status查看状态,并且使用命令git log --pretty=oneline查看修改日志信息。
可以使用Git撤销更改和删除文件操作。
撤销修改:
添加55555内容有误,恢复以前的版本,可以使用以下几种方法进行修改,
第一种:如果知道要修改那些文件内容的话,就可以直接手动修改,然后add添加到暂存区,最后commit.
第二种,可以按照以前的方法,直接回复以前的版本,使用git reset --hard HEAD^。
但是除此之外,我们还可以进行撤销操作,在进行撤销之前,可以首先使用git status查看当前的状态。
从输出信息中可看到,git checkout --file可以丢弃工作区的修改,执行以下命令:
Git checkout --Hello.txt。
执行命令:rm 文件名
执行命令:git cheackout – guyan01.txt20191207
远程仓库:首先注册github账号,有你的本地Git和github仓库之间的传输是通过SSH加密传输的,需要一点设置:
(1)创建SSH KEY,在你的用户主目录下,查看有没有.ssh目录,如果有的话,在看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过如下这两个命令如果没有的话,打开命令行输入以下命令:
Ssh-****** -t rsa -C “[email protected]”。此处的id_rsa,是私钥,id_rsa.pub是公钥。可以放心的告诉任何人。
(2)登录github,打开“settings”中的SSH Keys页面,然后点击“Add SSH key”,填上任意题目,在Key文本框里粘贴id_rsa.pub文件中的内容。
(3)登录github账号,将公钥复制粘贴就可以看到添加的Key 了。
在我们本地已经创建了Git仓库,又想在github上创建一个Git仓库,并且希望这两个仓库可以进行同步,这样github仓库就可以作为备份,又可以与其他人通过该仓库来进行协作。
目前,这个仓库还是空的,Github告诉我们,可以从这个仓库中克隆出新的仓库,也可以把一个已有的本地仓库与之相关联,然后,把本地仓库的内容推送到Github仓库。
现在我们根据Gitub的提示,在本地的仓库下运行命令:
Git remote add origin https://github.com/1924zjy0835/20191207-demo02.git
执行以下命令,将内容推送到远程,使用git push命令,实际上是把当前的分支master推送到远程。
git push -u origin master,由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程的新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者是拉取时就可以简化命令。推送成功后,就可以在github页面看到远程库中的内容已经和贝蒂一模一样了。上面要输入github用户名和密码如下所示:
从现在起,只要在本地做了提交,就可以通过命令:git push origin master把本地master分支的最新修改推送到github上了。现在你就拥有了真正的分布式版本库了。
上面介绍了先有本地库,后有远程库,如何关联远程库。现在我们来介绍一下克隆远程库中的内容到本地来。
执行命令:git clone https://github.com/guyan/demo01.git,
创建域合并分支:
每次提交,Git都把他们串成一条时间线,这条时间线就是一个分支,截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支,HEAD严格来说并不是只想提交的,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前的分支。
首先查看当前的分支,执行命令:git branch
接下来,我们来创建den分支,然后切换到dev分支上,如下操作:git gitcheckout -b dev,git checkout 加上-b参数表示创建并切换,相当于如下两条命令:git branch dev和git checkout dev。使用git branch查看分支,惠烈出所有的分支,当前的分支前面会添加一个星号,
可以使用git checkout master进行切换到主分支上,如果在次分支上添加了新的内容并且进行了提交,切换到主分支上主分支上的内容不会发生改变。首先查看没有改动之前的文件内容,然后进行修改。
切回到主分支上查看文件的内容。
现在我们就可以将dev分支上的内容合并到master上了。可以在master分支上,使用命令Git merge命令用于合并指定到当前的分支上,合并后,再查看Hello.txt的内容,
使用命令git branch name进行创建分支,执行命令git checkout name进行切换分支,创建+切换分支命令就是git checkout -b name;合并某分支到当前的分支:git merge name;删除分支:git branch -d name
首先创建一个分支,并且切换到新创建的分支。