網站首頁 編程語言 正文
1、Git版本庫介紹
每個Git版本控制系統的主機中,都可以包含若干個本地版本庫,一般情況下一個本地版本庫對應一個項目,用于對某個特定項目中的本地文件進行版本管理。其實,你可以簡單理解成一個目錄,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改、刪除等操作Git都能跟蹤到,以便任何時刻都可以追蹤歷史,或者在將來某個時刻可以進行“還原”。
Git中版本庫又名倉庫,英文名Repository
,使用命令git init
來創建并初始化一個本地版本庫。
初始化后,在當前目錄下會出現一個名為.git
的目錄,所有Git需要的數據和資源都存放在這個目錄中。包括暫存區文件,版本記錄文件,配置文件等。換句話說,如果你想從項目中刪除Git的版本控制,但又要保留項目原文件,那么只需要將這個.git
目錄刪除即可。這樣話,這個項目就與Git沒有任何關系。
2、創建本地版本庫
在日常工作當中,創建Git本地版本庫的場景有兩種。
場景一:創建一個空的本地版本庫。
介紹:
這種情況是項目還沒有代碼,需要先創建一個Git本地版本庫的時候。
在你專門存放Git版本庫的文件夾中,執行git init your_project(項目名),這個時候Git會在當前路徑下,創建一個和項目名稱同名的文件夾,這個文件夾就是一個Git的裸倉庫,里面的會有一個隱藏的.git
文件夾。
要進行開發的時候,只要進入到這個文件夾里面就可以了。
步驟:
直接用Git管理新建的項目
- 進入到Git本地版本庫管理目錄
git-repository
。 - 查看目錄內容。
- 執行
$ git init your_project?
,創建Git本地版本庫。 - 查看Git本地版本庫是否創建。
- 進入到剛剛創建的Git本地版本庫。
- 查看Git本地版本庫中的內容。
- 進入
.git
目錄,進行查看。
演示:
說明
當我們執行完$ git init first_git_repo
命令之后,會出現下面一行提示。
Initialized empty Git repository in J:/git-repository/first_git_repo/.git/
意思是:初始化一個空的Git倉庫,然后是倉庫的路徑。
.git
目錄:這個文件夾是Git的核心內容,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。這個文件夾以后我們會詳細的講解。
后面顯示(master)
表示默認創建了master
主分支。
提示:
- 我們也可以在
git-repository
目錄中,先通過mkdir first_git_repo
,創建一個倉庫目錄,然后在進入這個目錄中,執行git init
命令,和上邊是一樣的,這里就不演示了。 - 如果你使用Windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名(包括父目錄)不包含中文。
場景二:項目中已存在文件時,創建該項目的本地版本庫。
介紹:
這種情況就是在創建倉庫之前,項目中已經有一些代碼文件了。換種方式說,在本地創建Git倉庫,把代碼納入到Git管理中,提交到 GitHub。
針對這種情況,我們只需要進入到已有的項目代碼所在的文件夾,然后執行git init
命令就可以了。
步驟:
把已有的項目文件的目錄納入Git管理
-
second_git_repo
目錄是一個已有文件的項目目錄。 - 進入
second_git_repo
目錄,查看內容。 - 執行
git init
命令,把該目錄納入Git管理。 - 該目錄納入Git管理后,查看目錄以有
.git
目錄。 - 進入
.git
目錄,進行查看。
演示:
以上就是Git在本地創建版本庫常用的兩種情況。
場景三:在GitHub網站上創建倉庫,克隆到本地。
1、進入GitHub網站,點擊右上角的加號,選擇穿件倉庫。
2、進入到創建Git倉庫頁面。
- Public:公有的,就是大家誰都能看得到的倉庫,也能下載你倉庫中的代碼。
- Private:私有的,你可以選擇讓誰看到,需要花錢
其他的不用管直接點擊創建(Create repository
)。
3、查看創建的倉庫,選擇認證方式。
會有一個倉庫列表,點擊你剛剛創建的倉庫。
https和ssh驗證方式的區別 |
---|
https基于用戶名密碼的驗證方式。 |
SSh基于公鑰私鑰的驗證方式(sshkey的方式),之前講過。 |
4、克隆倉庫到本地
進入到你想克隆的位置的文件夾中。
執行git clone + 遠程倉庫路徑。
查看git-repository-temp
目錄中,已經clone出GitHub上創建的倉庫了。
進入clone
到本地的項目TestNG中查看。
里邊也有.git
文件夾,說明也被Git管理。
原文鏈接:https://www.cnblogs.com/liuyuelinfighting/p/16148594.html
相關推薦
- 2023-02-02 C語言多文件編程問題解析_C 語言
- 2022-06-29 python人工智能tensorflow函數tf.get_variable使用方法_python
- 2023-07-07 electron 運行以及打包超時解決方法
- 2022-12-05 關于Word2Vec可視化展示_python
- 2022-01-30 uni-app 打包H5空白頁面或者刷新404,加入偽靜態就可以解決
- 2022-07-31 python中fastapi設置查詢參數可選或必選_python
- 2022-05-08 Pandas修改DataFrame列名的兩種方法實例_python
- 2022-04-16 Android中RecyclerView實現商品分類功能_Android
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支