Git学习笔记--Git入门
2016-01-19 00:20
344 查看
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
之前使用的是SVN(Subversion)。最近想自学一下Git的使用,在别人的推荐下,观看了廖雪峰的Git教程(本人将该网址贴到文章下方,有兴趣的童鞋也可以一起学习)。在自己练手的时候也写一个博客笔记记录一下学习心得。望与学习者共勉。
首先,是Git的环境安装(本人在家采用的是window系统,系统版本win7),百度搜索“Git”,出现如下视图
点击进入之后选择windows版
点击之后出现下图。我的电脑是win7 64位的。因此选择紫色那个安装包链接,点击下载(顺带说一下,下面红框的是安装在U盘的便携式版本)
点击之后就开始下载了,下载之后直接双击安装。(本人懒得换地址,就用默认的地址放在c盘)。安装完之后这样子的
然后选择那个“git-bash.exe” 右键,选择发送到桌面快捷方式。(方便以后使用)
最后我们双击哪个“git-bash.exe”打开界面
输入一下两句代码:
到这里基本就算完成安装了。
下面我们创建版本库(什么是版本库呢?用廖雪峰教程的话说就是:它类似于一个目录,目录里面的所有文件都可以被Git管理,每个文件的增删改查都能被Git追踪,或者还原当时的内容)。
写完之后,再写下面这句 (作用是让Git可以管理这个路径下的文件)
然后我们来到刚刚新建的那个文件路径,新建一个readme.txt文件
新建完之后,记得不要直接双击打开它编辑,原因是:(引自廖雪峰Git教程)
“ 使用Windows的童鞋要特别注意:
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8
without BOM即可 ”
因为本人电脑上暂时没有安装Notep++,那么就先直接创建一个空的txt文件也无所谓,不影响练习。接着我们用两步把文件添加到仓库
git add 这个命令是添加文件的意思,git commit这个命令是提交文件的意思。我们可以一次性提交很多文件。那就是说,我们git add 一个文件,再add 一个文件,一直add到所有我们需要提交的文件都add上去的时候,最后再commit提交到仓库中即可。
如果我们没有新建文件就把git add readme.txt的话,就会出现下面这个情况
解决的办法就是去git那个路径下的learngit下新建一个叫readme.txt的文件,然后重新写刚刚那句代码即可
到目前为止,我们就学习了Git的安装和Git仓库的创建,和文件的提交。
----第二天学习----
因为只有在深夜抽空学一点其他的东西,所以学的比较慢,哎,踏踏实实一步一个脚印来吧。
今天重新打开git,忽然一时间不知道怎么接下去。按照教程写
额,报错了。 我要怎么回到原来的路径文件里面呢。(没玩过Linux系统 unix系统的娃就是没优势)。最主要是还是我不知道怎么找问题。百度Google 搜索都不知道怎么搜。自己回头看教程。把用户名和邮箱重新设置了一次,貌似也不管用。再往后翻一点,看到cd .../.... 路径。 忽然就想起来了。以前也学过一点点dos命令的皮毛。还看得懂cd 这个意思,于是我cd一下路径,再用pwd查看一下,果然进入了。
我们用git status 查看仓库的当前状态。
懂一点英语的话,应该可以看懂,大概是说:readme.txt 被修改过,但是还没有commit提交修改
我们用 git diff 看看做了哪些修改,(diff == difference)
我们可以看出文件没有删除内容(-0,0),增加了一个文件三行(+1,3) 具体增加的内容就是那三个+开头的那三句
我们知道了修改内容之后,检查没有错误之外就可以提交修改了。提交修改和提交新文件是同样的,即git add 和 git commit。提交完成之后 我们再用git status查看一下状态
上面大概说的是:没有需要提交的文件,工作目录是干净整洁的的。(这样就说明我们刚刚的文件完全提交成功了)
提交完之后,我们可以使用git log命令来查看以前提交过的版本信息(也可以用git log --pretty=oneline 只看单行的参数)
如果我们要退回第二个版本,就可以使用git reset 的命令
// 注意 返回之后你再用git log的话 看到的就是只有你当前版本以及以前的了,之前的那个版本看不到了。
如果想回到以前的版本怎么办? 有办法!
方法1 如果你没有关闭git 这个窗口的话 你可以看以前的那个git log 最新那个版本号
commit后面那个就是版本号
然后用上面退回的方法
方法2 如果你关闭了git 这个窗口的话,可以使用git reflog命令,查看以前每一次命令 这样能就可以看到以前的版本号啦(记得关闭git 重新打开后要cd 路径 回来原来的仓库)
这样我们就又可以看到前面那些版本号啦 然后用git reset命令就可以退回以前版本了。(nice)
----概念介绍----
工作区(Working Directory) :指的是电脑上能看到的或者看不到的但是已经存在的路径目录(隐藏文件的路径),比如我们之前创建的learngit就是一个工作区
版本区(Repository):工作区内有一个隐藏目录.git 这个就叫Git的版本区(它不算是工作区)
(图片引用自廖雪峰教程)
我们add文件的时候,其实是把文件从工作区放到暂存区(stage)中,commit的时候,就是把暂存区的文件提交到master里面去。教程的原话是这样的“
分支和
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用
第二步是用
因为我们创建Git版本库时,Git自动为我们创建了唯一一个
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。”
这是廖雪峰的Git教程链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
之前使用的是SVN(Subversion)。最近想自学一下Git的使用,在别人的推荐下,观看了廖雪峰的Git教程(本人将该网址贴到文章下方,有兴趣的童鞋也可以一起学习)。在自己练手的时候也写一个博客笔记记录一下学习心得。望与学习者共勉。
首先,是Git的环境安装(本人在家采用的是window系统,系统版本win7),百度搜索“Git”,出现如下视图
点击进入之后选择windows版
点击之后出现下图。我的电脑是win7 64位的。因此选择紫色那个安装包链接,点击下载(顺带说一下,下面红框的是安装在U盘的便携式版本)
点击之后就开始下载了,下载之后直接双击安装。(本人懒得换地址,就用默认的地址放在c盘)。安装完之后这样子的
然后选择那个“git-bash.exe” 右键,选择发送到桌面快捷方式。(方便以后使用)
最后我们双击哪个“git-bash.exe”打开界面
输入一下两句代码:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"// 注 Your Name 就是填写你的姓名/昵称 email就不用说了吧,邮箱。 至于密码。。。。没有密码,是的,没有,别问为什么,自己Google。
到这里基本就算完成安装了。
下面我们创建版本库(什么是版本库呢?用廖雪峰教程的话说就是:它类似于一个目录,目录里面的所有文件都可以被Git管理,每个文件的增删改查都能被Git追踪,或者还原当时的内容)。
mkdir learngit //创建的文件路径
cd learngit
pwd// 注 pwd作用是为了显示刚刚创建的文件路径,如果路径中包含中文的话,强烈建议修改路径,避免出现各种奇奇怪怪的现象发生。
写完之后,再写下面这句 (作用是让Git可以管理这个路径下的文件)
git init这样就创建好了一个Git的仓库。(默认那个刚刚创建好的git是隐藏的。 可以是用 ls -ah 就可以让它显示)
然后我们来到刚刚新建的那个文件路径,新建一个readme.txt文件
新建完之后,记得不要直接双击打开它编辑,原因是:(引自廖雪峰Git教程)
“ 使用Windows的童鞋要特别注意:
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8
without BOM即可 ”
因为本人电脑上暂时没有安装Notep++,那么就先直接创建一个空的txt文件也无所谓,不影响练习。接着我们用两步把文件添加到仓库
git add readme.txt
git commit -m"wrote a readme file"// 注 -m“ ” 里面的内容写的相当于注释,为了方便日后查找,因此请填写一些相关的内容,比如创建了某某文件,修改了某某文件某某行等等。
git add 这个命令是添加文件的意思,git commit这个命令是提交文件的意思。我们可以一次性提交很多文件。那就是说,我们git add 一个文件,再add 一个文件,一直add到所有我们需要提交的文件都add上去的时候,最后再commit提交到仓库中即可。
如果我们没有新建文件就把git add readme.txt的话,就会出现下面这个情况
解决的办法就是去git那个路径下的learngit下新建一个叫readme.txt的文件,然后重新写刚刚那句代码即可
到目前为止,我们就学习了Git的安装和Git仓库的创建,和文件的提交。
----第二天学习----
因为只有在深夜抽空学一点其他的东西,所以学的比较慢,哎,踏踏实实一步一个脚印来吧。
今天重新打开git,忽然一时间不知道怎么接下去。按照教程写
git status
额,报错了。 我要怎么回到原来的路径文件里面呢。(没玩过Linux系统 unix系统的娃就是没优势)。最主要是还是我不知道怎么找问题。百度Google 搜索都不知道怎么搜。自己回头看教程。把用户名和邮箱重新设置了一次,貌似也不管用。再往后翻一点,看到cd .../.... 路径。 忽然就想起来了。以前也学过一点点dos命令的皮毛。还看得懂cd 这个意思,于是我cd一下路径,再用pwd查看一下,果然进入了。
我们用git status 查看仓库的当前状态。
懂一点英语的话,应该可以看懂,大概是说:readme.txt 被修改过,但是还没有commit提交修改
我们用 git diff 看看做了哪些修改,(diff == difference)
git diff
我们可以看出文件没有删除内容(-0,0),增加了一个文件三行(+1,3) 具体增加的内容就是那三个+开头的那三句
我们知道了修改内容之后,检查没有错误之外就可以提交修改了。提交修改和提交新文件是同样的,即git add 和 git commit。提交完成之后 我们再用git status查看一下状态
上面大概说的是:没有需要提交的文件,工作目录是干净整洁的的。(这样就说明我们刚刚的文件完全提交成功了)
提交完之后,我们可以使用git log命令来查看以前提交过的版本信息(也可以用git log --pretty=oneline 只看单行的参数)
git log
如果我们要退回第二个版本,就可以使用git reset 的命令
git reset --hard HEAD^
// 注意 返回之后你再用git log的话 看到的就是只有你当前版本以及以前的了,之前的那个版本看不到了。
如果想回到以前的版本怎么办? 有办法!
方法1 如果你没有关闭git 这个窗口的话 你可以看以前的那个git log 最新那个版本号
commit后面那个就是版本号
然后用上面退回的方法
git reset --hard 2ad8e107 // 只输入前几位就够了,只要不跟别的版本号前几位一样就可以恢复回来的
方法2 如果你关闭了git 这个窗口的话,可以使用git reflog命令,查看以前每一次命令 这样能就可以看到以前的版本号啦(记得关闭git 重新打开后要cd 路径 回来原来的仓库)
git reflog
这样我们就又可以看到前面那些版本号啦 然后用git reset命令就可以退回以前版本了。(nice)
----概念介绍----
工作区(Working Directory) :指的是电脑上能看到的或者看不到的但是已经存在的路径目录(隐藏文件的路径),比如我们之前创建的learngit就是一个工作区
版本区(Repository):工作区内有一个隐藏目录.git 这个就叫Git的版本区(它不算是工作区)
(图片引用自廖雪峰教程)
我们add文件的时候,其实是把文件从工作区放到暂存区(stage)中,commit的时候,就是把暂存区的文件提交到master里面去。教程的原话是这样的“
分支和
HEAD的概念我们以后再讲。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用
git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用
git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个
master分支,所以,现在,
git commit就是往
master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。”
这是廖雪峰的Git教程链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
相关文章推荐
- IOS学习笔记UI篇
- forword/ sendRediect
- 大数据认知阶段——虚拟机Ubuntu上网方式配置(Bridge、NAT、host-only)
- MySql启动预编译功能
- 简单Servlet部署至Tomcat服务器
- vs2012配置ffmpeg
- 从Logistic到SVM
- 小提示:谷歌的调试器
- 中国房地产开发商因人民币长期贬值而受到影响
- HDU 1195 - Open the Lock
- Linux学习之find命令
- 超精密的iOS笔记.pdf
- viewpager左右滑动的 +Tab指示(方式4-------------ViewPager+ViewPagerIndicator)
- Java 多态
- iOS Info.plist文件
- linux磁盘配额
- 使用Doxygen为VHDL工程生成文档模板
- SalesForce
- 【android学习4】Eclipse中Clean作用
- C#中 时间戳与普通时间格式的转换