0


[GIT专栏] 使用GIT管理单节点项目(不包含分支)

Git - 单节点使用

在 Hello_GIT 中,我们介绍了如何配置 GIT。接下来我们将针对单机项目使用进行

创建一个项目

选中项目根目录后,初始化仓库

git init
# Git 2.35.2 版本以后,出现 ‘安全存储库’ 的概念,这个是添加到信任仓储命令git config --global --add safe.directory 仓储位置

这是创建后的 Git 仓储。值得注意的是,Git 的主分支(Branch)默认"master"非"main"

本地仓库操作

在进行本地前,你需要明白Git 的本地工作模式,大致如下:

#mermaid-svg-UqOAYYBAvxUBGgI8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .error-icon{fill:#552222;}#mermaid-svg-UqOAYYBAvxUBGgI8 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-UqOAYYBAvxUBGgI8 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .marker.cross{stroke:#333333;}#mermaid-svg-UqOAYYBAvxUBGgI8 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-UqOAYYBAvxUBGgI8 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .cluster-label text{fill:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .cluster-label span{color:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .label text,#mermaid-svg-UqOAYYBAvxUBGgI8 span{fill:#333;color:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .node rect,#mermaid-svg-UqOAYYBAvxUBGgI8 .node circle,#mermaid-svg-UqOAYYBAvxUBGgI8 .node ellipse,#mermaid-svg-UqOAYYBAvxUBGgI8 .node polygon,#mermaid-svg-UqOAYYBAvxUBGgI8 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-UqOAYYBAvxUBGgI8 .node .label{text-align:center;}#mermaid-svg-UqOAYYBAvxUBGgI8 .node.clickable{cursor:pointer;}#mermaid-svg-UqOAYYBAvxUBGgI8 .arrowheadPath{fill:#333333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-UqOAYYBAvxUBGgI8 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-UqOAYYBAvxUBGgI8 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-UqOAYYBAvxUBGgI8 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-UqOAYYBAvxUBGgI8 .cluster text{fill:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 .cluster span{color:#333;}#mermaid-svg-UqOAYYBAvxUBGgI8 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-UqOAYYBAvxUBGgI8 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}
git add

git commit

git checkout

**工作区**

缓存区

仓储

创建一个文件

touch readme.md
echo"hello this is a readme file!">> ./readme.md

查看当前状态

# 此快捷键我们已经在 用户配置 中设定了git st

# 未设定使用此命令git status

此时会显示以下三个信息

  • on brench : 告知你当前的分支位置
  • Untracked files : 未追踪的文件
  • No commits yet : 无提交记录

工作区与缓存区

什么是工作区?

如果只有Git的话,工作区默认是当前目录。如果与你的 IDE 集成了,就是 IDE 打开的目录。

什么是缓存区?

缓存区(Staging Area)是位于 .git/index 当中,当我们 编辑好文件 后,就可以使用

git add 文件名

提交它了!提交后任何在工作区的更改都会被告知!

缓存区文件可以通过

git diff

比较修改差异,

git restore 文件名

撤销工作区更改。

工作区/缓冲区命令

无论是工作区还是缓存区,都有一个重要的参数选项

--cached

这代表文件的操作!同时我们建议你先学习 Linux 后再学习 Git! 避免出现各种各样的问题。

提交文件

# 提交 readme文件 到缓存区gitadd readme.md

# 提交本目录下全部文件到 缓存区gitadd.

撤销工作区更改

# 撤销指定文件更改git restore readme.md

# 撤销全部更改git restore *

取消提交

# 取消 readme.md 文件的缓存# 注意,文件在工作区必须未修改!gitrm --cached readme.md

# 取消全部gitrm -r --cached *

查看修改的不同

> 如果确定了工作区的修改,再次提交工作区文件即可!
# 查看单个文件gitdiff readme.md

# 查看全部更改gitdiff *

清空缓存区

# 清空缓存,保留工作区更改git reset

清除未在缓存区的文件

git clean -f

缓存区与仓储

什么是仓储?

仓储(Reposeitory)是利用 SHA-1 进行存储提交的完整历史记录和版本记录。主要有本地仓储和远程仓储两种,本篇介绍的是本地仓储。

      S 
     
    
      H 
     
    
      A 
     
    
      1 
     
    
      = 
     
    
      h 
     
    
      a 
     
    
      s 
     
    
      h 
     
    
      ( 
     
    
      树对象 
     
    
      + 
     
    
      父提交 
     
    
      + 
     
    
      提交信息 
     
    
      ) 
     
    
   
     SHA1 = hash(树对象 + 父提交 + 提交信息) 
    
   
 SHA1=hash(树对象+父提交+提交信息)

缓存区/仓储命令

提交缓存区命令

# 将进入了缓存区的文件全部提交git commit -m "第一次提交"

查看提交记录

git log

查看提交详细

# 按 q 退出查看git show [记录的SHA-1数值]

版本回退

# 同时还原缓存区修改git reset [回退到的SHA-1数值]

对比历史差异

gitdiff[对比的SHA-1数值]

仓储/工作区命令

查看不同的提交历史

# 此方式相当于查看新分支,我们将在下章讲解git checkout [SHA-1值]

返回当前分支

# 注意你自己的主要分支是什么!git check master

查看 HEAD 信息

# 注意,reflog在远程仓储中是不应当存在的!git reflog
标签: git github 开源软件

本文转载自: https://blog.csdn.net/m0_53256647/article/details/143893446
版权归原作者 仲芒 所有, 如有侵权,请联系我们删除。

“[GIT专栏] 使用GIT管理单节点项目(不包含分支)”的评论:

还没有评论