美文网首页
35.4-Git由来和基本概念操作

35.4-Git由来和基本概念操作

作者: BeautifulSoulpy | 来源:发表于2020-01-16 01:03 被阅读0次

    人有两个自己,一个病态的自我,一个健康的自我。前者懒惰逃避,后者积极向上。一个人心智越成熟,越能察觉到自己的懒惰,越是能自我反省,越是能找到懒惰的痕迹。有时一个人自认不完整,只是他还年轻!

    总结:

    1. git提交commit的时候,要清楚的知道每一次,你都做了那些修改;

    1. GIT

    1.1 由来

    Linux内核代码需要版本管理工具管理代码,2002年开始,使用的是BitMover公司的BitKeeper这个商用软件。但是Linux社区崇尚的是自由软件相悖。2005年,Andrew Tridgell对BitKeeper的协议进行逆向工程,BitKeeper作者决定收回无偿使用授权。磋商无果,Linus又找不到合适的版本管理工具,决定自行开发分布式版本管理工具,一个月后,Linux内核代码被Git接管。

    2008年,基于WEB使用Git进行版本控制的软件托管服务的网站GitHub上线

    2016年5月9日,11年后,BitKeeper开源,发布在了GitHub上。

    1.2 安装

    https://git-scm.com/downloads
    下载对应操作系统的Git客户端版本

    Linux
    从RHEL上安装非常简单

    # yum install git
    

    windows
    下载对应的32位或者64

    $ git --version 查看版本号
    

    1.3 概念

    主要涉及到四个关键点:
    工作区:本地电脑存放项目文件的地方,比如learnGitProject文件夹;
    暂存区(Index/Stage):在使用git管理项目文件的时候,其本地的项目文件会多出一个.git的文件夹,将这个.git文件夹称之为版本库。其中.git文件夹中包含了两个部分,一个是暂存区(Index或者Stage),顾名思义就是暂时存放文件的地方,通常使用add命令将工作区的文件添加到暂存区里;
    本地仓库:.git文件夹里还包括git自动创建的master分支,并且将HEAD指针指向master分支。使用commit命令可以将暂存区中的文件添加到本地仓库中;
    远程仓库:不是在本地仓库中,项目代码在远程git服务器上,比如项目放在github上,就是一个远程仓库,通常使用clone命令将远程仓库拷贝到本地仓库中,开发后推送到远程仓库中即可;

    1.4 使用

    初始化一个版本库

    git init
    Initialized empty Git repository in /home/python/magedu/projects/cmdb/.git/
    

    在当前目录中增加了一个.git目录,不要自行修改这个目录里面的文件。
    当前目录一般是项目的跟目录;

    添加文件

    单个文件添加

    git add index.htm
    

    单个文件添加
    这一步是把文件的当前变化增加到索引中,也就是以后这个文件需要版本来跟踪管理;注意这不是提交。此时,文件还可以继续修改,还可以添加新的被跟踪文件,一定要add才能把这些改变加入到索引中

    批量文件添加

    git add .
    

    .点号,代表当前目录,这条命令将递归添加当前目录及其子目录所有文件
    只要是目录,就会递归添加该目录下的文件和子目录。

    查看状态
    $ git status
    # On branch master
    #
    # Initial commit
    #
    # Changes to be committed:
    # (use "git rm --cached <file>..." to unstage)
    #
    # new file: index.htm
    #
    # Untracked files:
    # (use "git add <file>..." to include in what will be committed)
    #
    # .ipynb_checkpoints/
    # .python-version
    # Untitled.ipynb
    # __pycache__/
    $ git status -s
    
    

    -s, --short 短格式输出

    Git的文件分类
    追踪的Tracked,已经加入版本库的文件
    未追踪的Untracked,未加入到版本库的未被管理的文件
    忽略的Ignored,git不再关注的文件,例如一些临时文件
    .gitignore文件中,目录以/结尾,行起始的!是取反
    .gitignore内容如下:

    提交代码

    commit 提交更改到版本库
    -m 填写本次日志消息,必须写。工作中,程序员应该对每一次提交写明做了什么改动

    $ git commit --help
    
    $ git commit -m "First Commit"
    [master (root-commit) 8a73953] First Commit
    Committer: python <python@nodex.(none)>
    Your name and email address were configured automatically based
    on your username and hostname. Please check that they are accurate.
    You can suppress this message by setting them explicitly:
    
    git config --global user.name "Your Name"
    git config --global user.email you@example.com
    
    If the identity used for this commit is wrong, you can fix it with:
    git commit --amend --author='Your Name <you@example.com>'
    
    1 files changed, 1 insertions(+), 0 deletions(-)
    create mode 100644 index.htm
    
    $ git status
    # On branch master
    nothing to commit (working directory clean)
    

    相关文章

      网友评论

          本文标题:35.4-Git由来和基本概念操作

          本文链接:https://www.haomeiwen.com/subject/lnklactx.html