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_rsa
和id_rsa.pub
檔案。如果有了,直接可以將公鑰新增到github賬戶上。如果沒有,開啟shell(windows下的git bash):
ssh-keygen
-t rsa -c
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 ...