继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Git极简学习笔记

若数
关注TA
已关注
手记 68
粉丝 23
获赞 95

git的学习笔记

1. 安装git

2. 简单开始

创建版本库,即在需要编写的代码的工作区建立,可以在git bash或者cmd中键入

git init

就会生成一个 .git 文件夹

假设仓库中有了一些代码文件,文本等比如 readme.txt

那么接下来仅需要两步就可以将一个文件提交到仓库,为什么需要两步呢,而不是直接直接提交,且记住一个重要概念:暂存区

第一步: 将文件添加到Git仓库
git add readme.txt

第二步: 将文件提交到仓库,分号里就是描述这次提交做了什么事情
git commit -m "wrote a file about readme"

而为什么Git提交文件到仓库需要add、commit两步呢? 因为commit一次可以提交很多文件,所以可以多次add不同的文件

可以通过git status 查看目前文件提交的状态,包括更改,是否提交等

那么如果添加了修改,但是不记得那些具体内容了,可以通过git diff readme.text 查看修改的详细内容


那么这里就有一些应用了,比如我们已经编写代码并不断修改提交多次到仓库中了,但是我们如果误操作比如删除、改错了,想要回退呢?
比如回退到昨天修改的文件内容,那么可以通过git log 查看我们的提交记录

目前看来这个功能意义不大,似乎是回退的一次提交的所有内容,即一天的工作都会回退了,再说这种回退极少应用到,需要再说吧


接下里解释 工作区 和 暂存区, 工作区即存档代码的显式区域,而暂存区是git的,凡人看不着的,是存放在.git中的,而第一步git add实际就是将文件放入暂存区中,第二步git commmit -m "..."提交更改,即将暂存区的内容提交到当前分支中

当我们在创建git仓库版本库时,git自动为我们创建了一个唯一一个master分支

一句重要的话: Git 管理的是修改,即git始终提交的都是暂存区的内容,而暂存区的内容取决于添加到暂存区时刻的修改,git追踪的是修改,而修改的状态添加或提交都取决于用户

上面提到回退确实挺麻烦的,但是撤销修改确有一定的实用意义,是针对单个文件的撤销修改,其目的是

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

但是也就还存在一种情况将错误的文件添加到了暂存区,当然是没有提交的状态,那么可以通过git reset HEAD readme.txt把暂存区的修改撤销掉,重新放回工作区 ,然后我们可以再git checkout -- readm.text丢弃在工作区修改的内容


删除操作,比如我们想要删除已经在版本库中的某个文件

git rm readme.txt

git commit -m "rm readme.txt"

即可完成真正真正删除操作,那么我删错了怎么办呢? 可以:git checkout -- test.txt

3. 远程仓库-github

接下来是比较有趣的内容,即远程仓库, 这也是Git的杀手级功能,利用github.com获取免费强大的远程仓库再好不过了!
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

$ ssh-keygen -t rsa -C "youremail@example.com"

然后一路回车即可
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

如果你不想让别人看到Git库,有两个办法,一个是现在Github也已经免费了私密仓库!!! 另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。

确保你拥有一个GitHub账号后,我们就即将开始远程仓库的学习。

接下来在github上创建一个仓库,然后按照github上的提示可以把一个已有的本地仓库与之关联,然后将本地仓库的内容推送到Github仓库中

git remote add origin git@github.com:example-github-id/example-git-name.git

添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

下一步,就可以把本地库的所有内容推送到远程库上:

git push -u origin master

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

从现在起,只要本地作了提交,就可以通过命令:

git push origin master

讲了先有本地库,后有远程库的时候,如何关联远程库。

现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆。那么我们如何从远程库中克隆到本地呢? 很简单:

git clone git@github.com:example-github-id/example-git-name.git

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP