美文网首页
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由来和基本概念操作

    人有两个自己,一个病态的自我,一个健康的自我。前者懒惰逃避,后者积极向上。一个人心智越成熟,越能察觉到自己的懒惰,...

  • influxdb 语法

    英文的:)influxdb 语法InfluxDB基本概念和操作

  • 基本概念和操作

    基本概念和操作 一.实验内容 1.在linux中,最最重要的就是命令,这就包含了2个过程,输入和输出 (1)输入就...

  • 1-进程和线程之由来

    进程和线程之由来 操作系统中为什么会出现进程 说起进程的由来,我们需要从操作系统的发展历史谈起。 也许在今天,我们...

  • Docker基本概念和操作

    Docker基本概念 Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。相比虚拟机,容器更加轻量级,...

  • JDBC基本概念和操作

    JDBC是Java用来操作数据库的技术,它提供了统一的接口,用来规范不同的数据库厂商为它提供实例.接口的引用指向驱...

  • 程序员进阶书单:操作系统篇

    《操作系统精髓与设计原理》 全面地讲述了操作系统的基本概念、原理和方法,展现了当代操作系统的本质和特点。对操作...

  • 从进程和线程了解浏览器的工作原理

    进程和线程 进程(process)和线程(thread)是操作系统的基本概念。 现代操作系统都是可以同时运行多个任...

  • 数据结构--链表

    基本概念 实现方式 基本操作

  • 第二节 基本概念与操作

    Linux 基础入门(新版)”实验报告 基本概念及操作 Linux基础入门(新版)实验报告 基本概念与操作 环境介...

网友评论

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

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