Git介绍
一、 为什么要学习Git?
在开发一个软件时,这份工作通常需要一个team来完成。我们把这个软件划分为不同的模块,每个人负责一个模块的开发和维护。在这个过程中,如何保持team中成员软件开发的同步,保存开发周期中各个历史版本,解决team中成员间开发的版本冲突?Git是对这个问题的最好的答案。
Git是由Linus Torvalds 为帮助管理Linux内核而开发的一个开源的版本控制软件。Git是分布式版本控制工具,它具有以下特点:速度、简单的设计、完全分布式、对非线性开发提供强有力的支持、能够管理像Linux内核这样的大型软件,所以他有较快的速度和支持数据量比较大的版本管理。
Git有本地仓库和远程仓库组成:
二、Git的安装
安装过程比较简单,一路next即可,这里不再讲述。需要说明的是完成Git的安装后,他会提供Git bash的命令行界面,命令的语法规则同Linux。这也是因为他是为管理Linux内核的而生的。当然不熟悉命令行界面的也可以使用Git提供的图形化界面工具Git GUI。建议使用Git bash,还能方便你联系使用Linux的各种常用命令。
三、Git的配置
配置邮箱user.email和用户名user.name
git config --global user.name "***"
git config --global user.email "***"
四、本地仓库和远程仓库的操作
先放张Git的工作流程图
Git就是个版本控制软件,他可以管理任何事物的各种版本(不局限于程序)。这里我们以一个文件夹举例,这个文件夹里可以以存放各种文件(.c,.cpp,.a,.h,.bak等等)。
本地仓库操作
一、本地仓库的操作
(1)建立本地仓库
我们在使用Git对这个文件夹进行版本管理时,我们需要让这个文件夹与Git建立联系,可以这么理解“为这个文件夹添加Git版本工具,或者将这个文件夹纳入Git管理的范畴”。下面演示一下这个文件夹与Git建立联系的过程:对目标文件夹进行Git 初始化。每一个被Git初始化过的文件夹都是一个本地仓库。
命令:git init
我们在一个空的文件夹git_show中进行操作,将这个文件夹在GitBash中打开
这里我们文件夹git_show创建文件夹git_demo1,并把它初始化为一个本地仓库:
(2)本地仓库工作区划分与文件状态的变化
我们把本地仓库的几个区域:工作区、暂存区和仓库。我们对文件进行操作时,文件的状态会发生改变。所有文件都在工作区中,而且新文件的初始状态处于未跟踪。当对文件进行修改后文件的状态会变为未暂存(还是未追踪,此状态可以忽略),我们使用 git add filename 将文件添加到暂存区 ,文件的状态变为已暂存状态(未提交),使用git commit -m "**",将暂存区的文件提交到仓库中。
查看文件状态(git status):
我们对file1.txt进行修改,并加入到暂存区(git add file1.txt),file2.txt不动,再来查看文件的状态:
看到file1.txt的状态是等待被提交(未提交),file2.txt是未跟踪。接下来我们将file1.txt,file2.txt都将提交到仓库中
查看提交日志:git log --[options],我在这里创建了给git log 和一些常用参数起了个别名git-log。在~/.bashrc中添加,并source一下。
#查看git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
创建文件file3.txt,file4.txt。然后分别提交,查看提交日志,再来版本回退(git reset -)。
此时我们进行回退后发现有一次提交不见了,如果我们想回到消失的那个状态可以使用git relog,查看所有提交的状态,然后执行git reset --hard ***。
如果我们想要工作目录中某些文件不被git管理,添加.gitignore。例如此时我们要求.a文件不被git管理。我们进行演示:此时我们是含有.ignore,工作目录是含有file1.a的。这时我们删除.gitignore,查看状态。再来进行版本回退。可以看到工作区中文件状态的变化。
查看.gitignore的文件的内容
标签:Git,文件,git,提交,仓库,文件夹,本地 From: https://www.cnblogs.com/20203923rensaihang/p/17672459.html