GIT学习

分布式版本控制系统

git是分布式版本控制系统,它的设计原理是:每个使用者都有一份完整的版本库。
分布式版本控制系统 也有一个“中央服务器”,但每个人的电脑上都是一个完整的版本库,中央服务器的作用仅仅是方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。这样,你工作的时候即使不联网也可以,因为版本库就在你自己的电脑上。当多个人协作时,只需把各自的修改推送给对方,就可以互相看到对方的修改了。

DVCS工作流:

git pull——从远程代码库取到最新版本,放到本地仓库中。
写一些代码
git commit——将本地修改保存到本地仓库中。
git pull——从远程代码库中获取最新的更新。
git merge——合并代码并更新到本地副本。
git commit——将合并后的代码提交到本地仓库。
git push——将更新后的代码推送到远程代码库。

git基本命令

1.git status
git status命令可以让我们时刻掌握仓库当前的状态
修改test.txt文件,添加一行“test”,然后运行git status命令看看结果:git status命令告诉我们,test.txt被修改过了,但还没有准备提交的修改。

2.git diff
git diff顾名思义就是查看difference。显示的格式正是Unix通用的diff格式,可以从git diff命令输出看到,我们在第一行添加了一个“test”单词。

3.git commit -m “注释”
commit 操作是将变动提交到本地的 Git 库。

4.git push
push 操作是将本地未提交到远程 Git 代码库的 commit 提交到远程 Git 代码库里。

5.git log
git log命令显示从最近到最远的提交日志。和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示。

6.git checkout – filename
git checkout – filename命令用于回退工作区的修改。当改乱了工作区某个文件的内容,想直接丢弃工作区的修改,回退到版本库的版本用这个命令。

7.git reset HEAD filename
不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,第二步用git checkout -– filename

补充说明
有关创建,修改仓库属性等操作建议在 GitLab 网页版进行,而进行文件上传,删除,代码更新等操作建议使用本地的命令行或客户端。

.gitignore

1.WHY?

当你使用git add .的时候有没有遇到把你不想提交的文件也添加到了缓存中去?比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化配置文件我们一般不把它推送到git服务器中,但是又为了偷懒每次添加缓存的时候都想用git add .而不是手动一个一个文件添加,该怎么办呢?很简单,git为我们提供了一个.gitignore文件只要在这个文件中申明那些文件你不希望添加到git中去,这样当你使用git add .的时候这些文件就会被自动忽略掉。

2.忽略文件的原则

忽略操作系统自动生成的文件,比如缩略图等;
忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

3.使用方法

首先,在你的工作区新建一个名称为.gitignore的文件。 然后,把要忽略的文件名填进去,Git就会自动忽略这些文件。 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

4.忽略规则文件语法

a.忽略指定文件/目录

忽略指定文件
HelloWrold.class

忽略指定文件夹
bin/
bin/gen/

b.通配符忽略规则

通配符规则如下:
忽略.class的所有文件
*.class
忽略名称中末尾为ignore的文件夹
*ignore/
忽略名称中间包含ignore的文件夹
ignore/

git操作图

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值