几分钟搞懂git常用操作

发布于:2023-01-20 ⋅ 阅读:(173) ⋅ 点赞:(0)


前言

相信很多没有接触过git的小伙伴对这个词并不陌生,但是一直没用过且没机会用就始终不知道是干嘛的,其实git特别简单,只要搞懂了git四个区域之间是如何协作的那么命令啥的也不难记了

git的四个工作区域是如何的?

在git本地上是有三个工作区域的,分别是

本地仓库
暂存区
工作区
当然在gitte或者github有远程仓库,加起来就是四个区域了


而文件在这四个区域是这样进行移动的
在这里插入图片描述

Workspace : 工作区,就是你平时存放项目代码的地方


Index / Stage : 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息


Repository: 仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新方入仓库的版本


Remote : 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换


而实际上在平时我们在写项目时最常用的就是git add、git commit、git push以及git clone了

常用场景

部署项目

一般来讲当我们在本地项目完成了想部署在服务器上,那么就使用git将项目push到远程仓库中,再在云服务器用git把项目pull下来就行了。
在本地中的操作步骤就是

  • git init初始化一个git仓库,
  • 设置你的全局个人信息
    git config --global user.email '***'
    git config --global user.name'***'
  • 然后git add .把你的工作台的项目放到暂存器
  • git commit -m '名字' 把暂存区的文件放到本地仓库
  • 在码云中新建仓库,按照他给的步骤连接本地仓库
  • git push 就可以把本地项目放到远程仓库了
  • 然后在云服务器 git clone '远程仓库的url' 拉下来了

项目的版本管理

在很多时候我们可能会对项目进行版本迭代,使用git就可以把每个版本都放在仓库里,如果不满意当前版本就可以回滚到之前的版本,如果不使用git就会很麻烦。而在编辑器里一般都支持git使用,就可以直接在编辑器里进行图形化操作

.gitignore

很多时候有些文件我们是不愿意被进行移动的,这时候就可以使用.gitignore文件对文件进行一个“锁住”的操作

*.txt			    #忽略所有.txt结尾的文件
! 1ib.txt	    #但1ib.txt除外
/temp					#仅忽略项目根目录下的TODo文件,不包括其它目录temp
bui1d/				#忽略bui1d/目录下的所有文件
doc/* .txt		 #会忽略doc/notes.txt但不包括doc/server/arch.txt

文件四种状态

理解了文件的这几种状态又可以对文件的移动操作加深理解


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


Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致.这种类型的文件有两种去处,如果它被修改,而变为Modified.如果使用git
rm移出版本库,则成为untracked文件


Modified:文件已修改,仅仅是修改,并没有进行其他的操作.这个文件也有两个去处,通过git
add可进入暂存staged状态,使用git checkout则丢弃修改过,返回到_unmodify状态,这个git
checkout即从库中取出文件,覆盖当前修改!


Staged:暂存状态.执行 git
commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为unmodify状态.执行git reset HEAD
filename取消暂存,文件状态为Modified



网站公告

今日签到

点亮在社区的每一天
去签到