MyException - 我的异常网
当前位置:我的异常网» 项目管理 » 依据学习廖雪峰老师的git教程做的笔记

依据学习廖雪峰老师的git教程做的笔记

www.MyException.Cn  网友分享于:2013-10-08  浏览:0次
根据学习廖雪峰老师的git教程做的笔记

根据学习廖雪峰老师的git教程做的笔记

安装git

进行git的配置

  • 配置您的用户名和邮箱地址,使用--global 这个参数表明了在此台机器上的所有仓库都会使用该配置

    
    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

创建版本库

  1. 在本地的一个文件目录下,创建一个仓库test,就是一个名为test的文件夹

    
    $ mkdir test
    $ cd test
    $ pwd
    /d/Repositories/test
    
  2. 将该仓库交由git进行管理

    
    cd test
    git init
    Initialized empty Git repository in D:/Repositories/test/.git/
    

    执行 git init 命令会将该仓库叫由git进行管理,在该仓库下会多出一个.git的文件夹,该文件夹是用于跟踪管理版本库的

将文件添加至版本仓库

  1. 首先在仓库里创建一个文件,比如README.md

  2. 使用 git status 可以查看当前版本仓库的状态,当新建了README.md文件后,执行 git status 命令,可以看到以下的信息,未添加到仓库的文件列表以及提示可以使用 git add命令来将其添加到仓库中

    
    $ git staus
    
    On branch master
    
    Initial commit
    
    Untracked files:
    (use "git add <file>..." to include in what will be committed)
    
            README.md
    
    nothing added to commit but untracked files present (use "git add" to track)
    
  3. 使用 git add 命令来将文件添加到仓库,此时再执行 git status 可以看到以下信息,文件README。添加到了仓库中

    
    $ git add README.md
    $ git status
    On branch master
    
    Initial commit
    
    Changes to be committed:
    (use "git rm --cached <file>..." to unstage)
    
            new file:   README.md
    
  4. 使用 git commit 提交操作,-m 后面是对本次提交进行说明,可以说是这次提交干了啥事,得到的信息是:命令执行成功,一个文件改变插入了69行。

    
    $ git commit -m "add README.md"
    
    [master (root-commit) a88471c] add README.md
    1 file changed, 69 insertions(+)
    create mode 100644 README.md
    

由于README.md文件就是我正在编辑的笔记文件,所以该文件已经较上一次提交发生了改变,我们使用 git status 来查看状态

```shell

$ git stauts
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

                modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

```

可以使用 git diff 来查看文件具体的修改,显示的是当前文件与上一次提交的文件的不同

```

$ git diff README.md
```

然后我们可以将修改后的文件在添加并提交到仓库

```shell

    $ git add README.md
    $ git commit -m "update REMADE.md"
```

版本控制

  • 以上的操作向版本库提交了两次,使用 git log 可以查看提交的历史记录,按照由最近的提交到最远的提交排列,没一次提交都有唯一的 commitid 来标识,可以看到下列信息有,add README.mdupdate README.md 两次提交记录。

    
    $ git log
    
    commit 00673827e54d35b3db1950f8ac6f728d6e809386
    Author: lychiyu <lychiyu@gmail.com>
    Date:   Sat May 6 14:10:14 2017 +0800
    
        update README.md
    
    commit a88471c627f934ca1540bd5cc1d51c8a4a3b65ee
    Author: lychiyu <lychiyu@gmail.com>
    Date:   Sat May 6 10:30:19 2017 +0800
    
        add README.md
    
  • 如果想要回退到当前版本的上一个版本,可以使用以下命令,便回到了上一个版本,此时再执行 git log 命令,只能得到一个提交记录。

    
    $ git reset --hard HEAD^
    HEAD is now at a88471c add README.md
    
    $ git log
    commit a88471c627f934ca1540bd5cc1d51c8a4a3b65ee
    Author: lychiyu <lychiyu@gmail.com>
    Date:   Sat May 6 10:30:19 2017 +0800
    
        add README.md
    
  • 如何回到 update README.md 这个版本,可以使用以下命令,--hard 后面的字符是 update README.md 版本的 commitid 的前几位,这样就可以回到指定的版本了

    
    $ git reset --hard 00673827
    HEAD is now at 0067382 update README.md
    
  • 可以使用 git reflog 来查看命令记录


$ git reflog

管理修改

  • 撤销操作

    1. 当修改文件后并未执行 git add 时使用 git checkout --README.md 命令来撤销修改
    2. 执行了 git add 时,先使用 git reset HEAD README.md 再执行情况1的指令

    $ git reset HEAD README.md
    $ git checkout --README.md
3. 如果已经提交了,这可以执行版本回退操作

远程仓库

  • 生成 SHH Key,填上自己的邮箱地址,复制当前用户目录下“.ssh/id_rsa.pub” 里面的内容到github或者其他代码托管网站的ssh设置里面

    
    $ ssh-keygen -t rsa -C "lychiyu@gmail"
    
  • 将本地仓库,推送到远程代码库中的master分支上

    
    $ git remote add origin git@bitbucket.org:lychiyu/test.git
    $ git push -u origin master
    
  • 克隆远程仓库到本地

    
    $ git clone git@bitbucket.org:lychiyu/test.git
    

分支管理

  • 创建分支,创建一个dev分支,并切换至dev分支下

    
    $ git branch dev
    $ git checkout dev
    Switched to branch 'dev'
    

    使用git branch命令来查看所有的分支,在当前分支前会有星号标注

    
    $ git branch
    * dev
      master
    
  • 合并分支,使用git merge 命令来接需要合并的分支名,如下面,先切到master分支下,在将dev分支与其合并。

    
    $ git checkout master
    $ git merge dev
    
  • 删除分支,如下

    
    $ git branch -d dev
    Deleted branch dev (was 0067382).
    $ git branch
    * master
    

文章评论

聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
编程语言是女人
编程语言是女人
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员应该关注的一些事儿
程序员应该关注的一些事儿
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
我的丈夫是个程序员
我的丈夫是个程序员
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
10个调试和排错的小建议
10个调试和排错的小建议
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Java程序员必看电影
Java程序员必看电影
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员必看的十大电影
程序员必看的十大电影
老程序员的下场
老程序员的下场
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
如何成为一名黑客
如何成为一名黑客
旅行,写作,编程
旅行,写作,编程
代码女神横空出世
代码女神横空出世
为什么程序员都是夜猫子
为什么程序员都是夜猫子
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
 程序员的样子
程序员的样子
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
鲜为人知的编程真相
鲜为人知的编程真相
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的鄙视链
程序员的鄙视链
中美印日四国程序员比较
中美印日四国程序员比较
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员都该阅读的书
程序员都该阅读的书
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
那些争议最大的编程观点
那些争议最大的编程观点
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
总结2014中国互联网十大段子
总结2014中国互联网十大段子
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
一个程序员的时间管理
一个程序员的时间管理
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
我是如何打败拖延症的
我是如何打败拖延症的
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有