我的Git学习笔记

来源:互联网 发布:逆天pcb软件 编辑:程序博客网 时间:2024/05/17 22:29

学习Git前零星的了解些基本知识

一,什么是版本控制

比如,一个文件改了一遍又一遍,突然发现更改的思路完全不正确。想回到某次修改之前怎么办?版本控制就良好的解决了这些问题。
它可以记录文件每次修改的变化,以方便以后进行查阅某个特定的版本。

最简单的版本控制,每个版本修改前拷贝一个副本,然后在此副本做修改。想回到修改之前那就很简单。

如果多人协作的话,就需要集中式的版本控制,有一台服务器保存着文件所有的版本。每个人都取出最新的文件或提交更新到服务器。这也是很常见的版本控制方式。

但是如果服务器出现故障,那么所有人都不可以提交更新。假如服务器的磁盘出现问题,很可能就会丢失数据。因为你不能保证,本地有人提取出了最新的文件。

有句话很重要,只要整个项目的历史记录存放在单一的位置,就有丢失所有历史数据的风险。

于是分布式的版本控制应运而生。客户端提取出的项目,不仅是最新的文件快照,而且还把代码仓库完整的download下来了。
这也就意味着,即使服务器出现问题,只要有人曾提取过,就可以通过本地的仓库进行恢复。(这个实在吊炸天)

二,Git若干特点

1,Git只关心文件的整体是否发生变化,而不关心文件的内容发不发生变化。

变化文件的快照会被保存。
比如A文件被修改了,提交更新时,就会发现它被修改。(通过计算文件的sha1值)
A被修改,git就会对该文件做一个快照。并保存指向这次快照的索引。文件没有变化,那么Git不会保存。

2,几乎所有的操作都是在本地操作。

3,不可能你修改了文件,Git不知道。Git会根据文件或目录的结构计算出一个sha-1值。进行比对sha-1值的变化来看是否修改。

4,在Git中,只要提交了文件快照(也就是执行git add),就不用担心数据的丢失。

5,文件的三种状态:
已提交:文件安全的保存在本地数据库,可以认为这些文件未被修改过。
已修改:文件修改,但没放入暂存区。(暂存区其实只是一个简单的文件)
已暂存:文件修改,且放入了暂存区。

最基本的git流程:
修改了文件;把修改的文件进行快照,然后保存到暂存区;把暂存区的文件快照永久的转储到Git目录。

查看你的Git配置命令:git config --listcore.symlinks=falsecore.autocrlf=truecolor.diff=autocolor.status=autocolor.branch=autocolor.interactive=truepack.packsizelimit=2ghelp.format=htmlhttp.sslcainfo=/bin/curl-ca-bundle.crtsendemail.smtpserver=/bin/msmtp.exediff.astextplain.textconv=astextplainrebase.autosquash=trueuser.name=ronaldo                   //个人用户名user.email=distincofwang@gmail.com  //个人邮箱

三,Git基础知识

1,如何取得Git项目的仓库

第一种:自己创建git仓库git init    初始化某个目录,表示用git进行管理git add     对文件进行跟踪git commit  对文件进行提交
第二种:直接git clone,克隆现有的仓库

2,git常用的命令

对于首次clone下来的项目,使用git status查看状态,显示的是:# On branch masternothing to commit (working directory clean)其中master是默认的分支名称。第一次clone下来的文件都是已跟踪的,已跟踪的文件表示是都被纳入到版本控制的管理中,上次快照有它们的记录。而此时我在其中,创建一个新文件README.txt,git status,显示的是:Untracked files:  (use "git add <file>..." to include in what will be committed)        README.txtnothing added to commit but untracked files present (use "git add" to track)表示该文件未被跟踪。如果修改某个已跟踪的文件,使用git status会显示:Changes not staged for commit未暂存需要被提交已跟踪的文件且被加入到暂存区,使用git status会显示:Changes to be committed:已暂存需要提交对于未跟踪的文件,git add可以将其转变为已跟踪的文件且放入到暂存区。而对于已跟踪被修改的文件,使用git add可以将其放入到暂存区。通过上面一系列演示,下面这张图就不难理解了。

这里写图片描述

.gitignore要养成一开始就设置好.gitignore文件的习惯,忽略掉对某些不需要追踪文件的追踪。git diff查看文件的差异,此处用到再深入git commit进行提交,把暂存区的快照永久的转储到Git目录中。注意的是必须要加上-m,进行描述。如果想commit只要修改过的已跟踪的文件,可以使用:git commit -a。它会跳过git add的命令。使用git删除文件。首先可以是手动的删除文件,使用git status,显示:Changes not staged for commit:
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一岁半小宝宝不爱吃饭怎么办 家养的小鸡打架怎么办 小鸡关在一起打架怎么办 小孩感冒出汗多怎么办 宝宝感冒出汗了怎么办 出汗多怎么办%3f 孩子睡觉出汗多怎么办 三年级孩子成绩下滑怎么办 幼儿数学不开窍怎么办 孩子一年级学习跟不上怎么办 孩子学习不认真怎么办 孩子平时不细心怎么办? 脖子出现黑圈怎么办 简历留白太多怎么办 excel数字外面加个圈怎么办 电脑输入法数字数不上怎么办 大班教案迷路了怎么办 迷路了怎么办活动反思 头突然眩晕是怎么办 孩子学习拖拉懒惰怎么办 头发晕想睡觉怎么办 五年级错别字多怎么办 入党志愿书写错字怎么办 高中不会写作文怎么办 考试不会写作文怎么办 高考不会写作文怎么办 孩子总是写错字怎么办 小孩总是写错字怎么办 孩子马虎不认真怎么办 小孩计算老出错怎么办 小学生计算总出错怎么办 高中考试总粗心怎么办 孩子考试总是粗心怎么办 一年级孩子考试粗心怎么办 老师说孩子粗心怎么办 计算题总出错怎么办 计算题总是出错怎么办 数学老是计算错误怎么办? 苗木抵扣计算错误怎么办 表格中计算错误怎么办 孩子电视瘾太大怎么办