完全掌握Linux和Windows下git的基本操作

2022-03-10 19:00:13
本篇文章給大家帶來了關於的相關知識,其中主要介紹了linux和windows下git的基本操作,希望對大家有幫助。

推薦學習:《》

git學習筆記——Linux和Windows下git的基本操作

github主頁:https://github.com/Taot-chen

一、Linux環境

1、安裝git

sudo apt-get install git

2、設定git賬號資訊

git config --global user.name "你的git賬號使用者名稱"git config --global user.email "你的郵箱"

3、設定讓credential helper 幫助我們在一定時間內在記憶體中儲存我們的code,其中第二行為設定超時的時間

git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'

4、獲取ssh祕鑰和遠端GIT關聯

ssh-keygen -t rsa -C "你的郵箱"# 之後一路回車cd ~/.ssh 
cat id_rsa.pub# 再在Terminal中複製金鑰,新增到github的settings的SSH公鑰中,完成免密碼登入關聯
# 驗證ssh通訊情況,提示連線成功即可ssh -T [email protected]# 其他操作就和為windows的幾乎一致

5、push常用命令

git init # 初始化本地倉庫git config --list
 # 可以檢視你的git設定資訊
 # 提交檔案到本地倉庫git add abc.cppgit commit -m "first commit" //-m 用於指定本次提交的描述資訊
 # 提交到repositorygit remote add origin "github倉庫ssh地址"	//關聯倉庫git push origin master #master 是分支名
 # 以後若提交到相同倉庫,提交到本地倉庫之後,直接git push即可# 克隆專案git clone "專案的ssh地址"

6、push報錯時調大快取

git config http.postBuffer 52428800		//(根據檔案大小隨便調整)

二、Windows環境

1、版本控制;備份與修改

1)本地版本控制系統

 把版本號存入資料庫,來區分記錄版本的更迭。

2)集中化版本控制系統(CVCS)

 具有一個專門用於存放版本的修訂版本的伺服器,並且能夠藉助版本記錄來方便地定位相關的記錄。

3)分散式版本控制系統(DVCS)

 使用者端不只是提取出最新版本的檔案快照,而是把最原始的程式碼倉庫映象到本地,任何一處協同處理的伺服器故障,事後都可以用任何一個映象出來的本地倉庫恢復。

2、Windows下git的安裝和設定

1)安裝

 在git官網下載安裝對應的版本,在選單中找到Git->Git Bash,出現命令列視窗,即是安裝成功。

  • 檢視版本:

    git --version

2)設定使用者名稱和郵箱

git config --gobal user.name "your user name"     
# 設定使用者名稱git config --gobal user.email "your email"    
#設定郵箱git config --list     
# 檢視所有設定

3、git檔案的三種狀態和工作模式

1)三種狀態

  • 已提交(committed):資料已經安全地儲存到本地資料庫中
  • 已修改(modified):修改了檔案,但還沒儲存到資料庫中
  • 已暫存(staged):對一個已修改的檔案的當前版本作了標記,使之包含在下次提交的快照中

2)三個工作區域

  • 工作區:本地專案目錄
  • 暫存區:對修改後的檔案進行快照,新增到暫存區
  • git倉庫:工作區的隱藏目錄.git,不算是工作區,是git的版本庫

3)git的工作流程

  • 在工作區中修改某些檔案;
  • 對修改後的檔案進行快照,新增到暫存區
  • 提交更新,將儲存在暫存區的快照永久儲存在git倉庫中

    拉取: git倉庫->本地工作區

    提交: 本地工作區->暫存區->git倉庫

4、建立版本庫並提交檔案

1)初始化本地倉庫

 在本地初始化一個沒有任何檔案的空倉庫。

git init

2)新建資料夾git01.txt並新增到暫存區

git add     
# 將檔案新增到暫存區git add .   
# 提交當前目錄的全部檔案git status  
# 檢視檔案的狀態git commit  
# 將暫存區的檔案提交到本地倉庫git log     
# 檢視完整的提交紀錄檔資訊git diff HEAD --file    
# 檢視檔案法file歷次提交的區別

例如:

Git Bash

git init    
# 建立空倉庫git add git01.txt   
# 將檔案git01.txt新增到快取區git commit -m '第一次提交'   
#提交檔案到本地倉庫,單引號內的內容是本次提交的註釋,必須要有git status    
# 檢視暫存區檔案狀態git log    
 # 檢視完整的提交記錄

5、檔案修改與提交修改

 可以直接在工作區檔案中進行修改,之後再新增到暫存區,提交到本地倉庫

注: 提交之前必須先新增到暫存區

1)暫存區檔案的提交與復原

  • 提交:git add/git commit

  • 復原:

     從暫存區移除:

    git restore --staged git02.txt   
    # 從暫存區移除檔案git02.txtgit reset HEAD git02.txt    
    # 取消關於檔案git02.txt上一次的操作

2)版本回退

簡化顯示提交記錄:

git log --pretty=oneline

此時HEAD指標預設指向最後一次提交的記錄。版本回退就是讓HEAD指標想要回退到的版本。

git reset --hard HEAD^    
# 回退一個版本git reset --hard HEAD^^   
# 回退兩個版本git reset --hard HEAD~n   
# 回退n個版本git reset --hard "版本識別碼」   
# 回退或者前進到版本識別碼所在的版本git reflog    
# 顯示所有的提交記錄(包括HEAD指向的版本之後的版本),即可以顯示使用者的每一次操作的記錄

3)檔案刪除

git ls-files    
# 檢視本地倉庫的檔案目錄git rm filename   
# 刪除檔案filename
# 另一種刪除方法:現在工作區刪除檔案,之後再提交操作即可

6、遠端倉庫

1)github

git clone "專案地址"(github地址)    
# 下載github專案(可以不登陸)

2)ssh下載(需要登陸)

# 首先需要在gitbash中生成一個keyssh-keygen -t rsa -C "github郵箱"
# 找到生成的公鑰,開啟後複製,之後再去github中新增`SSH and GPG keys`
# 驗證有沒有新增成功ssh -T [email protected]# 出現您以被成功認證即可(即此時已經將ssh繫結了github)
# 下載專案git clone "專案地址" (ssh地址)

3)本地專案(本地倉庫)推到遠端倉庫

# 在github新建一個倉庫# 將本地專案提交到本地倉庫
# 將本地倉庫繫結github上面的遠端倉庫git remote add origin "github倉庫地址"
# 將其推到遠端倉庫的主幹上(遠端倉庫中包含本地倉庫的所有提交記錄)git push -u origin master
# 以後的更新推播,只需要在本地提交完成之後,直接如下命令git push

7、git分支操作

 主幹是已經上線的專案,分支中的任何操作都不會影響主幹的功能。在分支完善無誤之後,再將其合併到主幹即可。

1)本地分支操作

常用基本命令

命令描述
git checkout branch切換到指定分支
git checkout -b new_branch新建分支並切換到新建分支
git branch -d branch刪除指定分支
git branch檢視所有分支,並且*標記當前所在分支
git merge branch合併分支
git branch -m / -M oldbranch newbranch重新命名分支,如果new_branch名字分支已經存在,則需要使用-M強制重新命名
  • 切換到指定分支:git checkout branch
  • 新建分支並切換到新建分支:git checkout -b new_branch
  • 刪除指定分支:git branch -d branch
  • 檢視所有分支,並且*標記當前所在分支:git branch
  • 合併分支:git merge branch
  • 重新命名分支,如果new_branch名字分支已經存在,則需要使用-M強制重新命名:git branch -m | -M oldbranch newbranch

    注:

    只能在主幹分支上來合併分支,不可反過來。(雖然git不會報錯,但是這樣是不可以的)

    分支所具有的內容,就是建立分支的時候主幹所具有的內容。

2)遠端分支操作

分支push和pull

相關命令

命令描述
git branch -a檢視本地與遠端分支
git push origin branch_name推播本地分支到遠端
git push origin :remote_branch刪除遠端分支(本地分支還保留)
git checkout -b local_branch origin/remote_branch拉取遠端指定分支並在本地建立分支

獲取遠端分支的最新狀態

git fetch

圖表的方式顯示操作記錄

git log --graph --pretty=oneline

3)本地分支衝突解決

# 當分支和主幹的同一檔案的同一行不同的時候,合併分支就會出現衝突
# 根據具體的需要修改,使之相同即可

4)多人協同操作衝突

# 兩個使用者對同一個檔案的同一行進行了不同的操作
# 解決方法:在推播之期拉一下遠端倉庫,在本地根據具體的需求解決完衝突之後再推播

9、標籤管理

標籤操作基本命令git tag

命令描述
git tag tag_name新建標籤,預設為HEAD
git tag -a tag_name -m ‘xxx’新增標籤並指定標籤描述資訊
git tag檢視所有標籤
git tag -d tag_name刪除一個本地標籤
git push origin tag_name推播本地標籤到遠端
git push origin --tags推播全部未推播過的本地標籤到遠端
git push origin :refs/tags/tag_name刪除一個遠端標籤

10、Idea下git基本操作

1)環境整合設定

Configure->Settings->搜尋git->在Path to Git executable中新增git的安裝路徑(一直到git.exe)->test->出現版本號,即表示成功->新增github


File->Other Settings->Setting for New Projects->Git/Git Hub

2)推播專案到遠端倉庫

專案提交到本地倉庫->建立遠端倉庫->繫結遠端倉庫->推播到遠端倉庫

3)分支操作

4)gitignore外掛

5)衝突及其解決

推薦學習:《》

以上就是完全掌握Linux和Windows下git的基本操作的詳細內容,更多請關注TW511.COM其它相關文章!