1.Git 初识
不知道你⼯作或学习时,有没有遇到这样的情况:我们在编写各种⽂档时,为了防止文档丢失,更改失误,失误后能恢复到原来的版本,不得不复制出⼀个副本,⽐如:
“报告-v1”?
“报告-v2”?
“报告-v3”?
“报告-确定版”?
“报告-最终版”?
“报告-究极进化版”?
...?
每个版本有各⾃的内容,但最终会只有⼀份报告需要被我们使用?。
但在此之前的⼯作都需要这些不同版本的报告,于是每次都是复制粘贴副本,产出的⽂件就越来越多,⽂件多不是问题,问题是:随着版本数量的不断增多,你还记得这些版本各⾃都是修改了什么吗?
⽂档如此,我们写的项目代码,也是存在这个问题的!!
2.版本控制器
为了能够更⽅便我们管理这些不同版本的⽂件,便有了版本控制器。所谓的版本控制器,就是能让你了解到⼀个⽂件的历史,以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。
⽬前最主流的版本控制器就是 Git 。Git 可以控制电脑上所有格式的⽂件,例如 doc、excel、dwg、dgn、rvt等等。对于我们开发⼈员来说,Git最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件!
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper(也是一个版本管理器,但并不是开源的) 。
3.安装
Linux-centos 7.6 安装:
sudo yum -y install git
Linux-ubuntu 20.04 安装:
sudo apt-get install git -y
4.git基本操作
git是一个开源的项目,gitee 是以git为基础开发的app。
在gitee上创建好仓库后我们 git clone “仓库网址”
注意:第一次将仓库clone到本地时候 会出现一下情况:
提交代码三板斧:
git add . 将本地要提交的文件添加到暂存区。
git commit -m " XXX " 本地提交,提交到本地仓库。
git push 远端提交,提交到远端仓库。
当我们进入到当前目录并且执行ls -al时 我们会发现一个 .git 的文件, 这个玩意就是 本地仓库。代码都是先提交到本地仓库,在提交到远端仓库。
git status 查看当前仓库状态
git push 提交以后,本地仓库的状态,就成为了最开始的状态。
git log 获取仓库提交的日志:
当我们要删除一个远端仓库的一个文件呢?
此时就要用git rm 文件名
此时在三板斧之后,远端仓库的test.c就不见了
我们写生成可执行程序后,会有很多一些杂七杂八的程序。如果我们将这些程序传到gitee上,会非常仓库空间。在gitee上我们只希望将源代码传上去,其他的过滤掉,这该怎么办呢?
在我们本地仓库中右一个 .gitignore 文件,打开它,然后把不想要的后缀添加进去。
# Build and Release Folders
bin-debug/
bin-release/
[Oo]bj/
[Bb]in/
# Other files and folders
.settings/
# Executables
*.sdf
*.swf
*.air
*.ipa
*.apk
#过滤掉不想要文件和文件夹
*.exe
*.sln
*.vcxproj
*.filters
*.user
*.suo
*.db
*.ipch
Debug/
.vs
Release/
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
# should NOT be excluded as they contain compiler settings and other important
# information for Eclipse / Flash Builder.