Re:從零開始的Git詳細使用教程


觀前提示:

  • 本文主要介紹了用命令的方式對Git進行操作(全程用的win10系統),而對於TortoiseGit和github desktop等圖形化操作知識,只進行簡單介紹或提及,詳細使用會在提到的地方附上相關教程鏈接。
  • 另外,萌新剛剛接觸Git,很多東西理解尚淺。希望通過本教程,讓想入門的小伙伴學會一些基本操作。

Git簡單介紹:

  • Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。如果是剛剛接觸它,你可以簡單的把它理解為一個雲空間。不過它上傳文件和項目的時候與常見的雲存儲的那種直接上傳本地文件的方式不同,它分為三個部分:本地倉庫、暫存區和遠程倉庫。
  • 這里可以簡單類比一下,git遠程倉庫,相當於百度雲,本地倉庫就是你電腦的文件夾,他倆中間建了一個服務區,你傳輸的文件要先在服務區休息,等你確認相關信息,並發出指令后,再傳到遠程倉庫。

前置准備:

  1. 注冊github賬號
    如果進不去,你可能需要科學的上網方法
  2. 安裝Git環境
    Git安裝可參考如下教程:
    https://blog.csdn.net/qq_38113006/article/details/104075379
  3. 此外,你還可以下載一個Git桌面軟件github desktop它也可以幫助你更簡便的使用,在下面會有簡單的介紹
  4. 操作過程中如果遇到不懂的命令,請移步到:https://blog.csdn.net/halaoda/article/details/78661334 參考研究

Git詳細使用:

1.基本信息設置

這一步建議直接登錄Github操作

git config --global user.name '用戶名'      #設置用戶名
git config --global user.email '郵箱'       #設置用戶名郵箱
git config --list                           #查看設置

2.新建Git本地倉庫

打開一個你想放倉庫的路徑,右鍵打開Git Bash Here

git init #初始化git本地倉庫

生成.git文件夾,默認是隱藏屬性,打開查看,勾選顯示隱藏文件可以看到(找不到的百度一下)

可以看到后面顯示有master的默認分支(現階段github上默認是main分支)

git checkout -b main   #創建並切換到main分支的命令

master意為主人,由於被認為帶有種族歧視的味道,現在慢慢改為用main來代替(這兩個分支就只有單詞的區別,選哪一個看個人習慣)

下圖是.git文件夾初始化后里面的樣子

3.創建資料倉庫

這里提供兩種方法

(1)在github上創建

直接在github新建遠程倉庫,然后同步到本地倉庫
登錄github,點擊右上角的加號,新建repository

倉庫名字隨意,描述可以不填,屬性根據需要選擇

點擊創建,即可看到庫已經生成

點擊上圖藍色用戶名,返回上一級目錄,可以看見創建的所有資料庫

(2)用desktop創建

用桌面軟件github desktop創建本地倉庫,並同步遠程倉庫

點擊publish同步到遠程倉庫

可以看到,本地和遠程都出現倉庫

(3)desktop詳細教程

桌面版可以很直觀的查看提交的更改信息,更加細致的操作請參考下面教程:
https://www.jianshu.com/p/06a960d991aa

4.創建多級目錄

提供兩種創建以及同步的方法

(1)直接在github上創建

在遠程倉庫創建,然后克隆到本地

創建新文件(如果創建多級自動變成文件夾)

在框重輸入目錄名字,可以一次性輸入多層,例如:src/file/work

因為不可以存在空文件夾,所以可以創建一個多余的文件,后面可以刪掉

拉到最下邊,填寫描述(選填),點擊提交

上傳文件(比如上傳一些圖片),特別注意不要上傳錯目錄,如果文件比較多,不容易直接在github上刪掉

選擇文件上傳

等待上傳到緩存區

添加描述后,提交更改

可以看到已經上傳到該目錄

- 在github上刪除、同步

刪除不要的文件:直接在github上貌似只能單個刪除,或者直接刪除文件夾或者資料庫

點進要刪除的文件,點擊垃圾箱,提交更改,即可刪除

在這里會顯示你剛剛進行的操作

然后把文件克隆到本地,實現同步

首先復制這個地址


然后隨便選擇一個目錄,打開git bash here,依次輸入以下命令

git init //初始化倉庫
git checkout -b main  //切換分支
git clone +地址 //克隆文件


克隆完成后,你的庫文件會以文件夾的形式出現在當前目錄下(這里換了別的庫,但操作是一樣的)
image
這里有幾個點要注意
(1)庫文件與.git是並列的(下面的所有操作是不需要進入.git里邊,圖片中之所以能使用,是我在.git內部初始化了倉庫,是不必要的用法)

(2)下面所有帶有.git的路徑,都可以直接把.git忽略掉,也不要把工程或文件復制到里邊,直接在.git外邊進行操作

(3)另外,.git是隱藏文件夾,不打開隱藏屬性是看不到的

然后,把你需要上傳的文件復制到庫文件中,再依次輸入以下命令,就可以實現同步

git add .
git commit -m "更新信息"
git push -u origin main 

- 在本地刪除、同步

此外還可以在本地修改后同步到遠程倉庫

進入到要修改的文件夾,右鍵進入Git bash

dir #查看文件
git rm -r --cached +文件名 #刪除遠程倉庫文件且不影響本地倉庫
git commit -m "xxx" #提交操作說明
git push -u origin master #更新到github遠程倉庫

回到github,可以看到圖片0005已經被刪除

git rm +文件名 #同時刪除本地和遠程庫的文件

- 批量刪除、同步

前面都是單個文件刪除和同步,適用於比較小的更改,如果有大量文件需要更改,則可以在本地整理好后,一起更新到遠程倉庫

首先,如圖,這是本地倉庫刪除一些文件后與遠程倉庫的對比圖,此外在上一層另外增加一個文件夾

並放入一張圖片

打開Git bash (最好在你修改的上一級目錄打開)

依次輸入

git add *               #把本地倉庫的文件上傳到緩存區
git commit -m "update"  #提交修改信息
git push                #上傳到遠程倉庫(默認只上傳當前的分支)

如果是第一次使用,建議先用下面的命令

git push -u origin main  #將main分支推送到origin主機並指定origin為默認主機, 之后可以直接使用git push 不用加參數

操作完后的效果如圖

與上面修改的本地倉庫一致

(2)在本地倉庫創建

在本地電腦直接建立多級目錄,然后更新到遠程倉庫

以上傳一個本地項目為例:

首先在github上創建一個項目倉庫project(名字隨意),復制好倉庫的地址

然后回到本地電腦,進入你的工程目錄,右鍵進入Git bash

git init #將工程目錄初始化為Git管控的環境

git remote add origin +剛剛復制好的倉庫地址
git pull origin main
git add .
git commit -m "提交修改信息"
git push origin main

命令說明和操作效果如圖

在看看github遠程倉庫,發現項目已經同步上來了,如果你需要多層文件夾,初始化git的時候多建立幾層文件夾即可

5. 刪除倉庫

如果新建的倉庫不想要了,可以直接在github中刪除,不需要再刪除本地文件后同步

進入到你的xxx資料倉庫,點擊Settings,里邊可以對庫進行重命名

翻到最下邊 點擊 delete this repository

根據提示輸入相應的庫的路徑,點擊 “明白刪除庫的后果”即可刪除

本地庫就直接在.git文件夾中點擊刪除即可

6. 配置SSH密鑰

在克隆項目的時候我們會發現,除了https地址,還有個SSH地址,用它下載需要配置ssh密鑰
image
git配置SSH密鑰:

先檢查配置信息:如果沒有用戶名和郵箱,可以先去github配置,或者使用如下命令配置

git config --global  user.name "你的用戶名"

git config --global user.email "你的郵箱"

然后執行下面的命令生成密鑰:

ssh-keygen -t rsa -C "你的郵箱"

一路確認后,會讓你保存密鑰文件,默認在c:/user/用戶名/.ssh文件夾里邊,找到id_rsa.pub,打開復制里邊的內容

接着打開github的Settings,然后將密鑰粘貼到如圖所示地方

7. TortoiseGit安裝、配置

如果覺得命令行操作麻煩,也有一款界面化操作的軟件TortoiseGit,其操作的原理和用命令相同
安裝教程參考:TortoiseGit安裝、配置 - 修行者HT - 博客園 (cnblogs.com)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM