Git学习笔记(一)

摘要:
我刚开始学习Git。我会把错误写下来。安装git后,有两件事,如图所示:gitbash表示命令行操作。gitGUI表示是一种图形操作。例如,如果添加了代码但没有提交,那么代码就存在于stage区域中。我们的工作区和git文件夹位于同一个文件夹中。让我们使用gitdiff--cached进行检查。注意绿色文本。这意味着暂存文件中的文件内容比本地存储库中的中文内容多一行“123456”。这意味着我们需要使用commit命令来提交。提交后,我们可以检查是否有任何差异。

刚开始学Git,记录下来,讹误之处还望指教。

安装好git之后,有两个东东,如图:
这里写图片描述

git bash 表示是命令行操作。
git GUI 表示是图形化操作。但是这个界面用起来不方便,另一个图形化操作工具是Tortoise Git,不过个人并不建议使用图形化操作界面,因为不方便在Linux和Windows之间来回切换。

好了,废话不多说,安装好之后点击git bash,打开如图界面:
这里写图片描述
可以通过help命令查看帮助,git中的帮助文档是一个html文件:
如图:
查看命令:git help git

这里写图片描述

打开的html文件:

这里写图片描述

好了,现在可以先给git配置一个用户名和邮箱了,如果不配置,在check时系统会提示你输入用户名和邮箱。--global表示你配置的用户名和密码是全局变量。
这里写图片描述

使用git config --list命令可以查看所有的配置信息。

这里写图片描述

在git的使用过程中有三个区域需要我们理解,分别是remote repository(远程仓库)、local repository(本地仓库) 以及stage areal(临时工作区)
远程服务器用来存放最终的代码,在一个分布式环境中可能有多个本地仓库,在本地仓库和我们的代码之间的缓冲区域称作stage areal。比如说添加了,但是没有commit那么此时代码存在于stage areal。

把一个本地文件夹初始化为一个git仓库。
这里写图片描述
初始化成功之后,git文件夹中多了一个.git的隐藏文件夹,我们后面上传的代码全部放在.git中的objects文件夹中。
创建一个名为hello的新文件,并向其中写入hello world
这里写图片描述
使用git add hello将刚才的hello文件提交,但是这时的提交只是保存在stage areal中,并没有保存到objects文件夹中,也就是在.git文件夹中的index文件中,不过这是一个二进制文件,我们用记事本打开是乱码的。
这里写图片描述
然后使用commit命令将代码提交到本地仓库中,这时就真正提交到objects文件夹中了,后面的-m "init hello"是注释。
这里写图片描述
我们的工作区和.git文件夹位于同一个文件夹中。
查看目前文件的状态git status:
这里写图片描述

如果我们在git目录下新建一个名为123的文本文档,如图:
这里写图片描述
这时123.txt还没有被版本管理,所以前面是一个问号,我们再执行git status,如图:

这里写图片描述

注意红色的文字,它建议我们使用git add 将未被管理的文件提交。
使用git add 123.txt将文件提交到stage areal中,然后使用git commit 123.txt将文件提交到本地仓库中。这时再查看文件状态,就没有问题了。

假设我们的项目中有一个bin.dll文件,这个文件我们不需要把它提交到版本仓库中,那么怎样设置忽略呢?
使用echo "bin" > bin.dll新建一个bin.dll文件,再把这个文件 名称添加到gitignore文件中,然后打开.gitignore,向其中手动加入内容.gitignore表示把这个文件也忽略掉。如图:

这里写图片描述

此时再查看状态就不会有任何问题。如上图。如果新文件或者文件夹不需要被版本管理,那么只需要把该文件的名称加入到.gitignore文件中即可。

git中还有一个diff命令用来比较版本仓库的不同之处,diff命令包含两个,一个是git diff --staged,另一个是git diff --cached,这两个命令有什么不同呢?

git diff --staged 表示 workspace  VS staged

git diff --cached 表示 staged VS local repository

git diff 表示 git diff --staged

我们在123.txt文件中新加一句“123456”,然后使用git diff命令查看workspace和staged有什么不同,如图:
这里写图片描述
注意绿色文字,是说workspace中的文件比staged中的文件多出一行“123456”,那么我们使用git add 123.txt将该文件重新提交,提交完了再查看有什么不同,这个时候没有任何提示,说明完全一样,如图:
这里写图片描述

workspace和staged中的文件一样了,那么staged和local repository中的文件又是否一样呢?我们使用git diff --cached来查看一下。

这里写图片描述

注意绿色文字,这是说staged中的文件内容比local repository中文的文件内容多出一行“123456”,这是我们需要使用commit命令来提交,提交完了之后再查看有什么不同就不存在问题了。
这里写图片描述

免责声明:文章转载自《Git学习笔记(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一步一步从原理跟我学邮件收取及发送 4.不同平台下的socketVue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Git 分支及bug分支合并

branch 分支学习:branch称为分支,默认仅有一个名为master的分支。一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支。 学习参考上图,也可以按照着这样的流程进行开发,如果遇到上文开发到一般需要临时修复Bug的情况,可以按照下图的流程进行:   注意:git merge 时也可能会出现冲突,解决冲突的...

Intellij IDEA如何配置Git?

01 打开IntelliJ IDEA。02 找到IntelliJ IDEA版本控制中Git, 在File–>Setting–>Version Control–>Git–>Path to Git executable。 03 在Git的安装路径下找到cmd文件夹下的git.exe,到此Git配置已完成。 04 检查Git在Inte...

Gerrit

1 -主配置文件 主配置文件位于$GERRIT_SITE/etc/gerrit.config目录 [gerrit@mt101 ~]$ cat gerrit_testsite/etc/gerrit.config [gerrit] basePath = git canonicalWebUrl = http://192.168.16.101:80...

github中git bash基础命令行

今天来讲一下关于github命令行相关知识。呵呵,其实github都没太明白就把git bash摆上来当道菜。看来,我有当程序员的天赋,让我再装一会。 前提:你已经在github上已经注册了账号。 特别注意: 括号内均为提示信息 1、常用命令行工具: ①cmd ②powershell ③git bash 2、命令行常用命令(在git bash上生效,部分在...

VMware, Win7, Mac系统之间使用Git版本控制器的解决方案

前一阵子折腾了一阵子Git,用于在Mac系统和Windows系统之间进行代码同步:使用Git在Mac和Windows系统之间进行同步数据 不过当时只是权宜之计,能让我从PC上更新Mac的代码和从Mac上更新PC的代码。 现在新的需求出现了,我们有三种系统,苹果机器上的Mac OS X, Win7宿主机器上VMWare里面的Mac OS X以及Window...

git使用手册

-2、pull by url git remote set-url origin --push --add user1@repo1 git remote set-url origin --push --add user2@repo2 git remote -v -1、gitlab使用: ssh-keygen -t rsa -C "your_email@un...