廖雪峰Git教程学习笔记。持续更新中。。。
2016-08-14 22:28
721 查看
首先,附上完整教程链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
在Windows上安装Git,网上所以下msysgit,安装就行了。
安装完成后,还需要最后一步设置,在命令行输入:
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
第二步,通过git init命令把这个目录变成Git可以管理的仓库:
这就把Git仓库建好了。
把一个文件放到Git仓库只需要两步:
第一步,用命令git add告诉Git,把文件添加到仓库:
执行上面的命令,没有任何显示,说明添加成功。
第二步,用命令git commit告诉Git,把文件提交到仓库:
修改内容并提交:
首先,用git status 查看仓库当前状态,可以看到是否有文件修改,有哪些文件修改。
然后,用 git diff 命令查看那些地方修改,确定无误,提交代码。
最后,用 git add 以及 git commit 将代码提交到仓库。
以上是最基本的,下面简单介绍一下 git 使用中重要命令作用及使用方法:
git log 命令 —— 显示从最近到最远的提交日志
git reset命令:
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
当然,也可以指定回到未来的某个版本:
除此之外,Git提供了一个命令git reflog用来记录你的每一次命令:
git add 命令就是把代码从本地工作区中同步到暂存区,而
git commit 命令就是把暂存区中的代码同步到当前分支。
master分支是Git自动为我们创建了唯一一个分支,当前分支不一定是 master 分支。
用
命令
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit 或g it add 时的状态。
选择:
一是确实要从版本库中删除该文件,那 git rm 删掉,并且git commit
gitrmtest.txtrm‘test.txt′gitrmtest.txtrm‘test.txt′ git commit -m “remove test.txt”
现在,文件就从版本库中被删除了。
另一种情况是删错了,因为版本库里还有很轻松地,所以可以把误删的文件恢复到最新版本:
$ git checkout – test.txt
git checkout 实是用版本库`其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以都可以“一键还原”。
本地作了提交,就可以通
当然,Git的好处不只是这一点,这只是项目中碰到的一种情况,其中辛酸苦与泪,经历过就知道了,最好不要经历,哈哈哈哈。。。
—— —— 2018.2.3
在Windows上安装Git,网上所以下msysgit,安装就行了。
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
第二步,通过git init命令把这个目录变成Git可以管理的仓库:
$ git init Initialized empty Git repository in /Users/michael/learngit/.git/
这就把Git仓库建好了。
把一个文件放到Git仓库只需要两步:
第一步,用命令git add告诉Git,把文件添加到仓库:
git add readme.txt
执行上面的命令,没有任何显示,说明添加成功。
第二步,用命令git commit告诉Git,把文件提交到仓库:
git commit -m "wrote a readme file"
修改内容并提交:
首先,用git status 查看仓库当前状态,可以看到是否有文件修改,有哪些文件修改。
然后,用 git diff 命令查看那些地方修改,确定无误,提交代码。
$ git diff readme.txt diff --git a/readme.txt b/readme.txt index 46d49bf..9247db6 100644 --- a/readme.txt +++ b/readme.txt @@ -1,2 +1,2 @@ -Git is a version control system. +Git is a distributed version control system. Git is free software.
最后,用 git add 以及 git commit 将代码提交到仓库。
以上是最基本的,下面简单介绍一下 git 使用中重要命令作用及使用方法:
git log 命令 —— 显示从最近到最远的提交日志
$ git log --pretty=oneline 3628164fb26d48395383f8f31179f24e0882e1e0 append GPL ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file
git reset命令:
git reset --hard HEAD^ HEAD is now at ea34578 add distributed
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
当然,也可以指定回到未来的某个版本:
git reset --hard 3628164 HEAD is now at 3628164 append GPL
除此之外,Git提供了一个命令git reflog用来记录你的每一次命令:
git reflog
git add 命令就是把代码从本地工作区中同步到暂存区,而
git commit 命令就是把暂存区中的代码同步到当前分支。
master分支是Git自动为我们创建了唯一一个分支,当前分支不一定是 master 分支。
用
git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别。
命令
git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit 或g it add 时的状态。
git reset HEAD file以把暂存区可以把暂存区的修改撤销掉(unstage),重新放回工作删除文件有除文件有:
选择:
一是确实要从版本库中删除该文件,那 git rm 删掉,并且git commit
gitrmtest.txtrm‘test.txt′gitrmtest.txtrm‘test.txt′ git commit -m “remove test.txt”
现在,文件就从版本库中被删除了。
另一种情况是删错了,因为版本库里还有很轻松地,所以可以把误删的文件恢复到最新版本:
$ git checkout – test.txt
git checkout 实是用版本库`其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以都可以“一键还原”。
本地作了提交,就可以通
$ git push origin master
Git用了一段时间后再用SVN的赶脚
换了一家公司,版本管理用的是SVN,才发现Git是简直就是太方便了,现在用SVN感觉特别蹩脚,原理性的概念不多说,网上一堆。对于实际开发来说,SVN基本上是一个功能开一个分支,当然Git也基本如此。但是实际情况是这样的,项目组的SVN服务器不怎么好使,时不时关机什么的,提交一次代码要和领导说一次,也不好意思经常麻烦领导,就一次提交代码实现多个小功能,很多代码,这样一来就很容易乱了,基本上为了清楚一点只能是手动在代码上打标签。如果是GIt的话就不一样了,我本地有一个分支,将代码提交到本地分支,甚至可以创建另外一个bug分支等等,和主分支服务器连不连得上基本没有影响。当然,Git的好处不只是这一点,这只是项目中碰到的一种情况,其中辛酸苦与泪,经历过就知道了,最好不要经历,哈哈哈哈。。。
—— —— 2018.2.3
相关文章推荐
- 学习廖雪峰git教程笔记
- 廖雪峰git教程学习笔记(二)
- git学习笔记——廖雪峰git教程
- git教程(关于git的学习笔记选取自廖雪峰)
- Git学习(廖雪峰的Git教程)笔记2
- 廖雪峰git教程学习笔记(一)
- Git学习笔记(持续更新)
- Git学习(廖雪峰的Git教程)笔记
- iOS/iPhone学习系列、代码教程----~~~持续更新中~~~
- 重拾CCNA,学习笔记持续更新ing......(7)
- linux学习笔记... ...持续更新ing
- Start Python 学习笔记(琐碎知识,持续更新。。。)
- wxWidget学习笔记三:Tips(持续更新中)
- 重拾CCNA,学习笔记持续更新ing......(5)
- ACE学习笔记--持续更新中
- [源码、文档、分享] iOS/iPhone学习系列、代码教程----~~~持续更新中~~~
- ios学习--iphone开发笔记和技巧总结(原址持续更新)
- Red Hat Enterprise Linux 5学习笔记(持续更新...)
- Vincent iOS/iPhone学习系列、代码教程----~~~持续更新中~~~
- 重拾CCNA,学习笔记持续更新ing......(4)