Git基本理论(二)

一、四个工作区

  • 工作目录(Working Directory);
  • 暂存区(Stage/Index);
  • 资源库(Repository或Git Directory);
  • 远程的git仓库(Remote Directory);

二、四个工作区转换关系

默认目录是本地目录(Work Directory),先把本地目录git add到暂存区(Stage),然后git commit到本地仓库(History),然后git push到远程仓库(Remote Directory);

从远程仓库把代码拉下来用git pull,从本地仓库把代码拉下来用git reset,从暂存区获取代码用git checkout;

三、基本知识

  • Workspace:工作区,就是平时存放项目代码的地方;
  • Stage/index:暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息;
  • Repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中Head指向最新放入仓库的版本;
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目中的一台服务器用于远程数据交换;
  • master:主分支;
  • Directory:使用git管理的一个目录,也就是一个仓库,包含我们的工作空间和git的管理空间;

四、git的工作流程

1.在工作目录中添加,修改文件;

2.将需要进行版本管理的文件放入暂存区域(git add);

3.将暂存区域的文件提交到git区域;

因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

五、git项目搭建

(一)本地仓库搭建

git init

创建全新的仓库,需要用git管理的项目的根目录执行;执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面

(二)克隆远程仓库

git clone [url]

六、文件4种状态

untracked:未跟踪,此文件在文件夹中,但并没有加入git库,不参与版本控制,通过git add状态变为Stage;

unmodify:文件已经入库:

modified:文件已修改;

Stage:暂存状态;

ztt@ztt-System-Product-Name:~/gitcode$ sudo git add .
ztt@ztt-System-Product-Name:~/gitcode$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   index.js

七、一些命令

查看所有文件的状态

ztt@ztt-System-Product-Name:~/gitcode$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)
ztt@ztt-System-Product-Name:~/gitcode$ sudo touch index.js
[sudo] password for ztt: 
ztt@ztt-System-Product-Name:~/gitcode$ ls
index.js
ztt@ztt-System-Product-Name:~/gitcode$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	index.js

nothing added to commit but untracked files present (use "git add" to track)
ztt@ztt-System-Product-Name:~/gitcode$ 

 提交暂存区的内容到本地仓库

sudo git commit -m "new file indexJs"

关于不需要提交的文件

在目录下建立“.gitignore”文件,此文件有一下规则:

1.忽略文件文件中的空行或(#)开始的行会被忽略;

2.可以使用linux通配符。

3.最前面是一个 /:要忽略的文件在此目录下,而子目录中的文件不忽略;

4.最后面是一个/:表示忽略此目录下该名称的子目录,而非文件;

5.最前面是一个!:表示例外规则,将不被忽略;

例如:

*.class;

*.log;

* idea

八、使用码云

github是有墙的,比较慢,在国内的话,我们一般使用gitee,公司中有时候用自己的gitlab

1.注册登录码云,完善个人信息;

2.设置本机绑定SSH公钥,实现免密码登录;

3.将公钥信息public key添加到码云账户中即可;

4.使用码云创建一个自己的仓库;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值