重温git

git学习

git基础

subversion:以文件变更列表的方式存储细腻些。将它们保存的信息看作是一组基本文件和每个文件随时间逐步积累的差异。

Git不按照以上方式对待或保存数据。 反之,Git更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在Git中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。Git对待数据更像是一个快照流。

三种状态:

已提交(committed),已修改(modifiled),已暂存(staged)。

已提交:数据已经安全保存在本地数据库中。

已修改:标识修改了文件,但还没保存到数据库中。

已暂存:表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

git三个工作区域:

git仓库,工作目录,暂存区域

工作目录、暂存区域以及Git仓库

Git仓库目录是Git用来保存项目的元数据和对象数据库的地方。 这是Git中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

工作目录是对项目的某个版本独立提取出来的内容。这些从Git仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在Git仓库目录中。 有时候也被称作`‘索引’',不过一般说法还是叫暂存区域。

基本的Git工作流程如下:

1.在工作目录中修改文件。

2.暂存文件,将文件的快照放入暂存区域。

3.提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录。

如果Git目录中保存着的特定版本文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

git操作:

1.进入D:/git目录

2.初始化仓库:git init

该命令将创建一个名为.git的子目录,这个子目录含有你初始化的git仓库中所有的必须文件,这些文件是git仓库的骨干。

git add t.txt是添加t文件进缓存区的命令,t文件可以处于未跟踪,已修改状态均可使用该命令。

git status查看状态命令

git status -s查看状态。以下图为例解释下该命令

新添加的未跟踪文件前面有??标记,新添加到暂存区中的文件前面有A标记,修改过的文件前面有M标记。 你可能注意到了M有两个可以出现的位置,出现在右边的M表示该文件被修改了但是还没放入暂存区,出现在靠左边的M表示该文件被修改了并放入了暂存区。 例如,上面的状态报告显示:README文件在工作区被修改了但是还没有将修改后的文件放入暂存区,lib/simplegit.rb文件被修改了并将修改后的文件放入了暂存区。 而Rakefile在工作区被修改并提交到暂存区后又在工作区中被修改了,所以在暂存区和工作区都有该文件被修改了的记录。

提交更新-由缓存区提交到工作目录:

git commit -m

git commit -m -a(跳过缓存区的提交)

移除和移动(重命名)

git rm -rf t1.txt:移除暂存区t1文件

rm -rf t1.txt:移除工作目录t1文件

git commit -m“移除t1.txt文件”

----------

git mv t.txt t1.txt:将t.txt更改为t1.txt

查看提交记录

git log

git log -p -2:-p:用来显示每次提交的内容差异,-2显示最近两次提交

git log --stat:每次提交的简略的统计信息

撤销操作

git commit --amend:提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有--amend选项的提交命令尝试重新提交

git resett.txt:取消对t.txt的提交

git checkout --t.txt:取消对t.txt的提交

远程仓库的使用

git remote查看远程仓库,会输出origin,这是git给你克隆的仓库服务器的默认名字

git remote -v查看远程仓库(-附带权限)

git remote rm hsy删除远程仓库

git fetch[remote-name]从远程仓库获取数据

git push origin master推送到远程仓库

git remote show [remote-name]查看远程仓库

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190121G13IRB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券