1. 首頁
  2. 休閒雜談

Ubuntu系統中Git客戶端的安裝及使用教程

Ubuntu系統中Git客戶端的安裝及使用教程

安裝git

sudo apt-get install git

git config命令的--global引數,用了這個引數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的使用者名稱和Email地址

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

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

建立版本庫repository

首先找一個地方,建立一個空目錄,然後使用git init 命令

git init

將檔案放到建好的倉庫目錄下使用如下命令

用add將檔案新增到倉庫

git add filename

用commit告訴git, 把檔案提交到倉庫

git commit -m "input something "

git commit命令執行成功後會告訴你,檔案被改動的情況。commit可以一次提交很多檔案

檢視倉庫歷史

git status命令可以讓我們時刻掌握倉庫當前的狀態

git status

git diff filename 可以檢視該檔案時如何被修改的

版本回退

用git log 命令檢視歷史記錄

git reset --hard +版本號

其中**HEAD表示當前版本,HEAD^表示上一個版本,HEAD^^表示上上一個版本 也可寫成HEAD~100上一百個版本。版本號不用全寫,寫前幾位就行。git會自動幫你找到

用git reflog 可以檢視你每一次的操作記錄

撤銷修改

使用

git checkout --xxx.txt

命令git checkout -- readme.txt意思就是,把readme.txt檔案在工作區的修改全部撤銷,這裡有兩種情況:

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態

使用git reset HEAD +filename可以把暫存區的修改撤銷掉,重新放回工作區。git reset命令既可以回退版本,也可以把暫存區的修改撤銷掉

刪除檔案

** 使用git rm filename**刪除檔案

若刪錯了,可用 git checkout -- filename進行恢復

檢視、切換、建立和刪除分支

git br -r # 檢視遠端分支

git br# 建立新的分支

git br -v # 檢視各個分支最後提交資訊

git br --merged # 檢視已經被合併到當前分支的分支

git br --no-merged # 檢視尚未被合併到當前分支的分支

git co# 切換到某個分支

git co -b# 建立新的分支,並且切換過去

git co -b# 基於branch建立新的new_branch

git co $id # 把某次歷史提交記錄checkout出來,但無分支資訊,切換到其他分支會自動刪除

git co $id -b# 把某次歷史提交記錄checkout出來,建立成一個分支

git br -d# 刪除某個分支

git br -D# 強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)

分支合併和rebase

git merge# 將branch分支合併到當前分支

git merge origin/master --no-ff # 不要Fast-Foward合併,這樣可以生成merge提交

git rebase master# 將master rebase到branch,相當於:

git co&& git rebase master && git co master && git merge

Git暫存管理

git stash # 暫存

git stash list # 列所有stash

git stash apply # 恢復暫存的內容

git stash drop # 刪除暫存區

遠端倉庫

建立SSH key

ssh-keygen -t rsa -C "[email protected]"

如果一切順利的話,可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個檔案,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人

登陸GitHub,開啟“Account settings”,“SSH Keys”頁面:

然後,點“Add SSH Key”,填上任意Title,在Key文字框裡貼上id_rsa.pub檔案的內容

將本地倉庫推送到GitHub倉庫

git remote add origin [email protected]:pastqing/wangdao.git

git push -u origin mastercd

由於遠端庫是空的,我們第一次推送master分支時,加上了-u引數,Git不但會把本地的`master分支內容推送的遠端新的master分支,還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令

此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改

從遠端倉庫克隆

git clone [email protected]:pastqing/wangdao.git

檢視提交記錄

git log

git log# 檢視該檔案每次提交記錄

git log -p# 檢視每次詳細修改內容的diff

git log -p -2 # 檢視最近兩次詳細修改內容的diff

git log --stat #檢視提交統計資訊