Git学习记录01

目录

[toc]

chapter(一)

1.1 题记

Git又名分布式版本控制系统,是大神Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeepe. Torvalds 只花了两周时间,自己用C写了一个分布式版本控制系统,大喊:厉害啊! 重点 :Git是开源而且免费的,且为最流行的分布式管理软件。

1.2 Git能干什么?

简单来讲,当你写代码时,因为会有很多版本,你不可能也不会把每个版本都特殊存起来。 这些繁琐的事情很烦,但有时候却有很有用,而Git就是帮你干这些繁琐事情的。

1.3 分布式管理VS集中式管理

  • 集中式必须有一个中央服务器,每个程序员,先从这里取得最新的版本,写完在推给中央服务器。 通过上面说的,集中式管理必须要有网,没网,白瞎。
  • 而分布式管理不同,它没有中央服务器,但不代表它不需要中央服务器,每个人本地都是完整的版本库。

1.4 安装Git

Linux上,若使用Debian或Ubuntu,直接使用如下代码: sudo apt-get install git

windows系统,直接去官网下载程序

本系列都是在Linux进行操作滴。其他系统的操作方法是类似滴。

1.5 小试牛刀-创建仓库(repository)

  • 首先,我先建立一个名为testGit的目录。
    1. 创建目录命令: mkdir testGit cd testGit
    2. 结果如下:

       mkdir testGit
       root@ubuntu-xenial:/myCode/Git/testGit# pwd
       /myCode/Git/testGit
      
  • 其次,将这个目录变为仓库(repository),命令: git init

      root@ubuntu-xenial:/myCode/Git/testGit# git init
      Initialized empty Git repository in /myCode/Git/testGit/.git/
      root@ubuntu-xenial:/myCode/Git/testGit# ls
      root@ubuntu-xenial:/myCode/Git/testGit# ls -ah
      .  ..  .git
      root@ubuntu-xenial:/myCode/Git/testGit#
    

通过上面的代码可以看到,git init后,立马显示创建了一个空Git仓库: Initialized empty Git repository in /myCode/Git/testGit/.git/ ls下,发现没有反应。 ls -ah下,发现出现了一个. .. .git 这是因为创建的.git目录是隐藏的,ls -ah可以显示隐藏的目录

1.6 小试牛刀-进行文件添加和提交

创建了仓库,我们就开始正式进入实战:

  • 首先 创建一个文档吧,我随便写了一个简单的C++程序 vim helloword.cpp 写入如下代码:
      1 #include<iostream>
      2
      3 int main()
      4 {
      5         std::cout << "This is a program that test Git!" << std::endl;
      6         return 0;
      7 }
    

    保存,ls下:

      root@ubuntu-xenial:/myCode/Git/testGit# vim helloword.cpp
      root@ubuntu-xenial:/myCode/Git/testGit# ls
      helloword.cpp
      root@ubuntu-xenial:/myCode/Git/testGit#
    
  • 重点来啦:用命令git add给Git说,我要把文件添加到仓库中~ git add helloword.cpp 提交完,如下,发现什么反应都没有,嗯哼,要知道,有时候,没消息,就是最好的消息。

      root@ubuntu-xenial:/myCode/Git/testGit# git add helloword.cpp
      root@ubuntu-xenial:/myCode/Git/testGit#
    

    此时,Git已经通过命令git add,把文件添加仓库中了。

  • git add只是文件添加仓库中,就好比你去图书馆还书,你仅仅是把递给了图书管理员。-这步就好比添加到仓库 然后,管理员要根据图书分类,把它重新放到对应的书架中,方便其他同学借阅。这步是什么呢? 是的:在Git中这步叫提交,命令git commit 往往在git commit后面加入一个参数-m "提交说明",强烈建议你输入有意义的话!

      root@ubuntu-xenial:/myCode/Git/testGit# git commit -m "test Git program"
    
      *** Please tell me who you are.
    
      Run
    
        git config --global user.email "you@example.com"
        git config --global user.name "Your Name"
    
      to set your account's default identity.
      Omit --global to set the identity only in this repository.
    
      fatal: unable to auto-detect email address (got 'root@ubuntu-xenial.(none)')
      root@ubuntu-xenial:/myCode/Git/testGit# ^C
      root@ubuntu-xenial:/myCode/Git/testGit#
    

    没有成功啊!看看提示发现,要让我添加邮件,命令都告诉我了。

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

    添加邮箱后,再试一次:

      root@ubuntu-xenial:/myCode/Git/testGit# git commit -m "test Git program"
      [master (root-commit) d6e5713] test Git program
       1 file changed, 7 insertions(+)
       create mode 100644 helloword.cpp
      root@ubuntu-xenial:/myCode/Git/testGit#
    

    上面这段的意思是:1 file changed, 1个文件被改动;7 insertions(+),插入了7行内容。

  • 【注】向Git提交文件需要两步,commit一次可以提交很多文件,而add是可以添加很多文件或反复添加很多文件: 如:

      git add helloword.cpp helloword2.cpp helloword3.cpp
      git commit -m "add three files"
    

1.7 总结:

git init -初始化Git仓库 git add <file> -添加文件到仓库 git commit -m "说明" -提交文件到仓库

请我喝咖啡

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,您说多少就多少

打开支付宝或微信扫一扫,即可请我喝咖啡哦