git學習小結

2021-07-11 17:02:40 字數 4885 閱讀 8177

學習了廖雪峰老師的git教程,自己也想根據自己的理解做一些總結,以便初學者快速學習。

git是分布式版本控制系統

一. git安裝

1.在ubuntu,debian  通過sudo apt-get install git 就可以直接安裝

老一點的debian和ubuntu 用sudo apt-get install git-core

2.mac os x上安裝git

一是安裝homebrew,然後通過homebrew安裝git.

3.在windows上安裝git

安裝完成後,在開始選單裡找到「git」->「git bash"

安裝完成後需要設定

git config --global user.name "your name"

git config --global user.email "[email protected]"

git config命令的--global引數

二.建立版本庫(倉庫)

初始化乙個git倉庫 git init 

三.把檔案放到git倉庫

git add file

git commit -m ""

四.版本回退

git reset --hard head^

回退到上上個版本:

git reset --hard head^^

回退到8個版本:

git reset --hardhead~8

$ git reset --hard 3628164

五.工作區和暫存區

前面說了把檔案放到倉庫裡面分成2步

運用工作區和暫存區的解釋:

git add file       就是將檔案從工作區放到暫存區

git commit -m ""      就是將暫存區裡的檔案放到倉庫裡

六.檔案修改,撤銷修改,刪除檔案

檔案修改之後,放到版本庫

git add filename

git commit -m ""

撤銷修改

1.git checkout -- file 有兩個作用

一種是還沒有放到暫存區,將工作區的檔案回退到版本庫的狀態

另一種是已經放到暫存區後又做了修改,將工作區的檔案回退到暫存區的狀態

換言之 git checkout -- file 就是將工作區的修改檔案回退

2.如果您已經將檔案git add 到暫存區 但還沒有commit,用命令git reset head file 將暫存區中的檔案撤銷掉,重新回到工作區,工作區修改git checkout -- file

3.如果已經提交到版本庫,用git reset --hard head^

刪除檔案

1.從版本庫中刪除檔案

git rm file

git commit -m ""

2.將工作區中的檔案刪除

git checkout -- file

七.遠端倉庫

1.新增遠端倉庫

要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git

2.推送到master分支

第一次推送:git push -u origin master

以後推送:git push origin master

3.從遠端倉庫轉殖

git clone git@server-name:path/repo-name.git

八.分支管理

1.建立和合併分支

git branch 檢視分支

git branch 建立分支

git checkout 切換分支

git checkout -b 建立並切換分支

git merge 合併分支

git branch -d 刪除分支

場景1:開始在master分支,後來需切換到develop分支開發,開發完成後需切換到master分支上,刪除develop分支

git checkout -b develop  //建立並切換分支

git add file

git commit -m  //提交修改

git checkout master //切換到master分支

git merge develop //將develop分支合併到master

git branch -d develop //刪除develop分支

場景二:在develop分支開發,但是在上個提交點有個bug 急需解決,並且目前開發的東西一時半會解決不了

git stash //將工作區暫存

git checkout -b bug1.0

git add file

git commit -m ""

git checkout develop

git merge bug1.0

git branch -d bug1.0  //bug已經解決,從新回到develop分支的工作區

將stash內容恢復,有兩種方法:

2.git stash pop恢復的同時把stash內容刪掉

場景三:多人協作開發

git remote        //檢視遠端庫

git remote -v   //檢視遠端更詳細的資訊

推送分支:

git  push origin master

git puah origin develop

抓取分支:

git checkout -b develop origin/develop

如果提交有衝突,你需要將最新的提交從origin/develop抓取下來

git pull

git branch --set-upstream dev origin/develop

git pull

九.自定義git

在安裝git的時候,我們已經配置了user.nameuser.email,實際上,git還有很多可配置項。

git config 是對git 進行配置,而配置都寫在配置檔案裡面

git有三個配置檔案:

1.倉庫級配置文

件:該檔案位於當前倉庫下,路徑.git/

,檔名為.gitconfig,這個配置中的設定只對當前所在倉庫有效 2.

全域性級配置檔案:win7下面路徑,在使用者目錄下,以個人的pc機為例,其路徑為:c:\users\zuoyu.ht,檔名為.gitconfig 3.

系統級配置檔案:本地git的安裝目錄下,git安裝路徑為例:d:\program

files\git\etc,檔名為:gitconfig

用git config命令檢視配置檔案

命令引數 –list, 簡寫 -l

格式:git config [–local|–global|–system] -l

檢視倉庫級的config,即.git/.config,命令:git config –local -l

檢視全域性級的config,即c:\users\zuoyu.ht\.gitconfig,命令:git config –global -l

檢視系統級的config,即d:\program files\git\etc\gitconfig,命令:git config –system -l

使用git config命令編輯配置檔案

編輯的英文單詞是什麼,沒錯,edit

命令引數 –edit, 簡寫 -e

格式:git config [–local|–global|–system] -e

檢視倉庫級的config,即.git/.config,命令:git config –local -e,與–list引數不同的是,git config -e預設是編輯倉庫級的配置檔案。

檢視全域性級的config,即c:\users\zuoyu.ht\.gitconfig,命令:git config –global -e

檢視系統級的config,即d:\program files\git\etc\gitconfig,命令:git config –system -e

增加乙個配置項

引數 –add

格式: git config [–local|–global|–system] –add section.key value(預設是新增在local配置中)

注意add後面的section,key,value一項都不能少,否則新增失敗。比如我們執行:git config –add cat.name tom

獲取乙個配置項

有時候,我們並不需要檢視所有配置的值,而是檢視某個配置項的值,怎麼做呢?

命令引數 –get

格式:git config [–local|–global|–system] –get section.key(預設是獲取local配置中內容)

我們先往global配置中寫入乙個cat.name=tomcat的配置項,再使用git config –get cat.name看看得到的是什麼

刪除乙個配置項

命令引數 –unset

格式:git config [–local|–global|–system] –unset section.key

相信有了前兩個命令的使用基礎,大家舉一反三就知道改怎麼用了,來,我們試試刪除local配置中的cat.name

Git 學習小結

git是目前最先進的分布式版本控制系統。所謂的分布式,是相對於集中式而言的,比如svn就是集中式的版本控制系統。集中式,顧名思義,就是擁有一台處於中心地位的伺服器,上面存放著版本庫。可以想象成網路裡的c s結構。同樣的,分布式就可以理解成p2p結構,沒有特定的伺服器,每台電腦都可以擁有版本庫,這樣就...

Git學習小結

看了廖雪峰老師關於 git 的部落格 收穫還蠻多,需要記得東西比較多,所以寫篇部落格回顧一下學到的東西。git clone 你想要複製的倉庫位址 從遠端複製倉庫 git init 新建倉庫 git add 檔名稱 提交此檔案到暫存庫 git add 提交工作目錄下所有變動的檔案到暫存庫 git st...

git學習小結

git是分布式管理 的工具,github則是全球最大的開源社群,支援 託管,兩者沒有太大的關係,但是我們要向github提交 應該需要使用到git工具。這裡git安裝過程忽略,直接進入主題 設定命令 git config global 引數 註冊使用者名為 user.name name 註冊郵箱為 ...