Git入門私房菜

2021-07-15 08:57:57 字數 3604 閱讀 8838

sudo apt-get install git命令安裝git

注:安裝時注意一步:選擇第二項,將git新增到path中。

向庫里新增乙個readme.txt檔案:

git commit命令,將檔案提交到倉庫。

git commit -m "wrote a readme file"

注:-m是對本次提交的說明,不該偷懶省去。

git rm慎用。這個命令會將所有版本庫記錄刪除。

在類似c:usersxiang_000.ssh這樣的主目錄下,檢視是否有id_rsaid_rsa.pub檔案。如果有了,直接可以將公鑰新增到github賬戶上。如果沒有,開啟shell(windows下的git bash):

ssh-keygen

-t rsa -c

"[email protected]"

id_rsa.pub是公鑰,可以放心的告訴任何人。

在github的account settings裡,add ssh key。

如果從零開發,推薦的方式是先在github上建立遠端倉庫。然後,從遠端庫轉殖。

在github建立名為:learngit的新倉庫。勾選新增readme.md

git clone轉殖乙個本地庫:

git clone [email protected]:michael728/learngit.git
建完本地庫,又想在github建立乙個git倉庫,讓兩個倉庫進行遠端同步。

在github建立新的repo,名字為:demo

根據github的提示,在本地的demo倉庫下執行命令:

git remote add origin [email protected]:michae728/demo.git
git push -u origin master
把當前分支master推送到遠端。由於之前遠端庫是空的,第一次推送master分支時,加上了-u引數。git不但把本地的master分支內容推送到遠端新的master分支,還會把本地master分支和遠端的master分支關聯起來,以後推送或者拉取就可以簡化命令。

從現在起,本地提交,可通過命令:

git push origin master
git push:
git push origin dev//表示提交到遠端的dev分支。
通常在本地的dev分支推送到遠端的dev分支,注意兩地分支命名要相同,保證不發生混亂

git pull:

git pull origin dev//表示拉遠端dev分支到本地,並和本地dev分支合併
git fetch(不常用):

git fetch origin dev表示拉遠端dev分支到本地,但是,不和本地dev分支合併

git remote:

git remote add github [email protected]:michael728/test.git//將本地倉庫推送到github上名為test的倉庫裡
建立於合併分支

建立dev分支,然後切換到dev分支:

git checkout -b dev
相當於下面兩條命令:

git branch dev

git checkout dev

git branch命令用於檢視當前分支。當前分支前面會有*:

git merge用於本地的指令。如果當前分支是master,本地另乙個分支是dev,用下面命令將分支合併到master:

git merge dev
版本回退

git log來查詢歷史記錄。git log --pretty=oneline顯示精簡資訊。

git中,head表示當前版本,上乙個版本就是head^,上上個版本head^^,上100個版本,寫成head~100

git

reset--

hard

head^

或者通過git reset --hard [commit id]回到指定版本號的版本。

git版本的回退速度很快,因為git內部有個指向當前版本的head指標。git僅僅是通過修改head指向就可以完成版本切換的工作。

git reflog用來檢視命令歷史。通過這個,就可以查到之前的版本號啦!

工作區和暫存區

工作區(working directory)

例如我們建立的demo資料夾,他就是乙個工作區。

版本庫(repository)

工作區有乙個隱藏目錄.git,這個不算工作區,它是git的版本庫。

git的版本庫里存了很多東西,最重要的是稱為stage的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head

因為我們建立的git版本庫是,git自動為我們建立了唯一乙個master分支,所以,現在git commit就是往master分支上提交更改。(因為以後還有可能往分支上提交啊!)

管理修改

git diff head -- readme.md//命令檢視工作區和版本庫里最新版本的區別。
撤銷修改

分為兩種情況的修改:

修改了工作區某個檔案的內容,想直接丟棄修改:

git

checkout--

filename

注:--前後都有空格。

當修改了工作區內容,同時,新增到了暫存區,分兩步:

刪除檔案

當刪除了工作區的檔案,git知道刪除了檔案,因此,工作區和版本庫就不一致。git status命令會立刻告訴那些檔案被刪除了。有兩個選擇:

注:git checkout其實是用版本庫里的東西替換工作區的版本。無論工作區是修改還是刪除,都可以一鍵還原。

鳥哥私房菜

鳥哥 linux 私房菜 ad 在我們平時使用unix命令的時候,需要平時多積累並且整理。下面,就是我們在平時時候整理的unix命令。而且是很全面的bash內建命令.bash內建unix命令 執行當前程序環境中的程式。同source。file dotunix命令從檔案file中讀取命令並執行。空操作...

python的小白入門私房菜0 python簡介

python簡單易學 功能強大 應用場景廣泛,非常適合程式設計初學者入門。最近幾年,在大資料與ai的加持之下,python這門程式語言風頭正盛,ieee spectrum更是將python排在了2017年程式語言排行榜的榜首。python的創始人吉多 範羅蘇姆 guido van rossum 在1...

鳥哥私房菜 20

本章主要與linux的啟動有關。1 linux 啟動流程一覽 1 載入bios的硬體資訊與進行自我測試,並依據設定取得第乙個可啟動的裝置 bios會首先cmos,通過cmos讀取硬體配置。2 讀取並執行第乙個啟動裝置內mbr的boot loader mbr master boot loader 3 ...