偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

面試官:說說你對Git的理解?

開源
分布式版本控制系統(tǒng)的客戶端并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。這么一來,任何一處協(xié)同工作用的服務器發(fā)生故障,事后都可以用任何一個鏡像出來的本地倉庫恢復。

[[416119]]

本文轉載自微信公眾號「JS每日一題」,作者灰灰 。轉載本文請聯(lián)系JS每日一題公眾號。

一、是什么

git,是一個分布式版本控制軟件,最初目的是為更好地管理Linux內核開發(fā)而設計

分布式版本控制系統(tǒng)的客戶端并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像下來。這么一來,任何一處協(xié)同工作用的服務器發(fā)生故障,事后都可以用任何一個鏡像出來的本地倉庫恢復

項目開始,只有一個原始版?zhèn)}庫,別的機器可以clone這個原始版本庫,那么所有clone的機器,它們的版本庫其實都是一樣的,并沒有主次之分

所以在實現團隊協(xié)作的時候,只要有一臺電腦充當服務器的角色,其他每個人都從這個“服務器”倉庫clone一份到自己的電腦上,并且各自把各自的提交推送到服務器倉庫里,也從服務器倉庫中拉取別人的提交

github實際就可以充當這個服務器角色,其是一個開源協(xié)作社區(qū),提供Git倉庫托管服務,既可以讓別人參與你的開源項目,也可以參與別人的開源項目

二、工作原理

當我們通過git init創(chuàng)建或者git clone一個項目的時候,項目目錄會隱藏一個.git子目錄,其作用是用來跟蹤管理版本庫的

Git 中所有數據在存儲前都計算校驗和,然后以校驗和來引用,所以在我們修改或者刪除文件的時候,git能夠知道

Git用以計算校驗和的機制叫做 SHA-1 散列(hash,哈希), 這是一個由 40 個十六進制字符(0-9 和 a-f)組成字符串,基于 Git 中文件的內容或目錄結構計算出來,如下:

  1. 24b9da6552252987aa493b52f8696cd6d3b00373 

當我們修改文件的時候,git就會修改文件的狀態(tài),可以通過git status進行查詢,狀態(tài)情況如下:

  • 已修改(modified):表示修改了文件,但還沒保存到數據庫中。
  • 已暫存(staged):表示對一個已修改文件的當前版本做了標記,使之包含在下次提交的快照中。
  • 已提交(committed):表示數據已經安全的保存在本地數據庫中。

文件狀態(tài)對應的,不同狀態(tài)的文件在Git中處于不同的工作區(qū)域,主要分成了四部分:

  • 工作區(qū):相當于本地寫代碼的區(qū)域,如 git clone 一個項目到本地,相當于本地克隆了遠程倉庫項目的一個副本
  • 暫存區(qū):暫存區(qū)是一個文件,保存了下次將提交的文件列表信息,一般在 Git 倉庫目錄中
  • 本地倉庫:提交更新,找到暫存區(qū)域的文件,將快照永久性存儲到 Git 本地倉庫
  • 遠程倉庫:遠程的倉庫,如 github

三、命令

從上圖可以看到,git日常簡單的使用就只有上圖6個命令:

  • add
  • commit
  • push
  • pull
  • clone
  • checkout

但實際上還有很多命令,如果想要熟練使用,還有60個多命令,通過這些命令的配合使用,能夠提高個人工作效率和團隊協(xié)助能力

參考文獻

https://zh.wikipedia.org/wiki/Git

 

https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

 

責任編輯:武曉燕 來源: JS每日一題
相關推薦

2021-11-25 10:18:42

RESTfulJava互聯(lián)網

2021-08-17 07:15:16

Git RebaseGit Merge面試

2021-08-19 08:36:22

Git ResetGit Revert版本

2021-08-16 08:33:26

git

2020-12-01 08:47:36

Java異常開發(fā)

2020-06-12 15:50:56

options前端服務器

2021-09-16 07:52:18

算法應用場景

2019-05-10 10:50:04

Spring AOPJDK動態(tài)代理CGLIB動態(tài)代理

2021-11-09 08:51:13

模式命令面試

2020-12-04 06:27:04

序列化面試官Java

2021-11-05 07:47:56

代理模式對象

2021-11-02 22:04:58

模式

2021-11-10 07:47:49

組合模式場景

2021-11-03 14:10:28

工廠模式場景

2022-02-21 17:24:18

序列化對象存儲

2021-09-26 10:57:16

集合操作場景

2021-09-27 06:50:04

非線性數據

2021-09-06 10:51:27

TypeScriptJavaScript

2021-09-28 07:12:09

測試路徑

2021-11-22 23:50:59

責任鏈模式場景
點贊
收藏

51CTO技術棧公眾號