• git安装与基本命令


    一、前言

      GibHub的名字源于Git,Git是一个分布式版本控制系统,让程序员团队能够协作开发项目,Git帮助大家管理为项目所做的工作,避免一个人所做的修改影响其他人所做的修改。你在项目中实现一个新功能的时候,Git将跟踪你对每个文件所做的修改。确定代码可行后,你将提交所做的修改,而Git将记录项目最新的状态,如果你犯了错,想撤销所做的修改,可轻松的返回以前的任何可行状态。GitHub上的项目都存储在仓库中,后者包含与项目相关联的一切:代码,项目参与者的信息,问题和bug报告等。

    二、下载

      直接到官网下载 .exe 结尾的文件

    三、安装过程

      参考:http://www.cnblogs.com/wj-1314/p/7993819.html

    四、配置

      Git跟踪谁修改了项目,哪怕参与项目开发的只有一个人。为此,Git需要知道你的用户名和电子邮件。你必须提供用户名,但可以使用虚构的电子邮件地址(也就是创建一个账户):

    git config --global  user.name "zhanzhuang"
    git config --global  user.email "zhuangzhan@hengtiansoft.com"

      因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。

            注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    五、创建项目

      我们来创建一个要进行版本控制的项目(又称版本库)。在你的系统创建一个文件夹,并将其命名为learngit。

    我创建learngit的程序如下:

    mkdir  learngit   #创建文件learngit
    cd  learngit       #进入learngit文件里面
    pwd                #显示learngit的存在目录

    我创建了一个hrllo.world.py程序,如下:

    print("hello world")

    六、忽略文件

    ***

    七、初始化仓库

    我们创建了一个文件,并通过git init命令把这个目录变成Git可以管理的仓库:

    $ git init
    Initialized empty Git repository in C:/Users/learngit/.git/

      瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。要是删除这个东西,则丢弃项目的所有记录。

           如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。

          也不一定必须在空目录下创建Git仓库,选择一个已经有东西的目录也是可以的。不过,不建议你使用自己正在开发的公司项目来学习Git,否则造成的一切后果概不负责。

    八、检查状态

    $ git status
    On branch master
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
            hello_world.py
    
    nothing added to commit but untracked files present (use "git add" to track)

      在Git中,分支是项目的一个版本,从这里的输出我们可以知道,我么位于分支的,master

      我们每次查看项目的状态时候,输出的都是我们位于分支master上,接下里的输出表明,我们将进行初始项目的日叫,提交是项目在特定时间的快照。

      Git指出了项目中未被跟踪的文件,因为我们还没有告诉他要跟踪那些文件,接下里我们被告知没有任何东西添加到当前提交里面,但我们可能需要将为跟踪的文件加入仓库

    九:将文件加入到仓库

    git add * (将所有文件加入到仓库)

    十:执行提交

    $ git commit -m "Started project"
    [master (root-commit) 5d6ceca] Started project
     1 file changed, 1 insertion(+)
     create mode 100644 hello_world.py

      我们在执行   git commit -m "Started project"    的时候以拍摄项目的快照。标志-m 让Git接下里的消息(“Started project")记录到项目中的历史记录中,输出表明我们在分支master 上,而且有一个文件被修改了

      简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

    十一、查看提交历史

    $ git log
    commit 5d6cecad80427924b94b14c6fd2bb82a4fa86840 (HEAD -> master)
    Author: username <xxxxxxxxxx.example.com>
    Date:   Sat Dec 9 20:16:17 2017 +0800
    
        Started project

      我们每次提交的时候,Git都会生成一个包含40字符的独一无二的引用ID,它记录提交是谁执行的,提交的时间以及提交的指定消息,并非在任何情况下你都需要所有的这些信息,因此Git提供一个选项,让我们能够打印提交历史条目的更简单的版本。

    $ git log --pretty=oneline
    5d6cecad80427924b94b14c6fd2bb82a4fa86840 (HEAD -> master) Started projectvvvv

      标志 --pretty=oneline   指定显示一项最重要的信息,提交的引用ID以及为提交记录的消息。

    十二、第二次提交

    为了显示版本控制的强大,我们需要对项目进行修改,并提交所做的修改。为此,我们在文件hello.world.py中再添加一行代码。

    print("hello world")
    print("hello git")

    如果我们查看项目的状态,将发现Git注意到这个文件的变化

    $ git status
    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:   hello_world.py
    
    no changes added to commit (use "git add" and/or "git commit -a")

      这个之处了我们当前所在的分支为master,其中做出修改的文件是hello_world.py,而且指出所做的修改还没有提交。

      接下来我们提交所做操作,并在查看操作。

      这一步,我们执行了提交,并且在执行命令git commit 的时候指定了标志-am.标志-a 让Git 将仓库中所有修改了的文件都加入当前提交中,(如果我们两次提交之间加入了新文件,我们执行get add . 操作,将新文件加入到仓库中)标志-m让Git咱提交历史中记录一条消息。

    $ git commit -am "Extrended greeting."
    [master b4ee15d] Extrended greeting.
     1 file changed, 2 insertions(+), 1 deletion(-)
    $ git status
    On branch master
    nothing to commit, working tree clean
    $ git log --pretty=oneline
    b4ee15ddf5274f488db8c74c327065c6f331ec5e (HEAD -> master) Extrended greeting.
    5d6cecad80427924b94b14c6fd2bb82a4fa86840 Started project

      我们在查看项目的状态的时候,发现工作目录也是干净的,最后我们发现提交历史中包含两个提交。

  • 相关阅读:
    关于排序算法的记录
    java获取src下文件
    学习HashMap的笔记
    红黑树删除
    学习红黑树过程中的个人总结
    关于二叉树的记录
    关于自动装箱和自动拆箱
    学习函数的时候问题
    Oracle 实现拆分列数据的split()方法
    福大软工 · 最终作业
  • 原文地址:https://www.cnblogs.com/zhanzhuang/p/10002468.html
Copyright © 2020-2023  润新知