Git 簡單使用說明

2021-08-04 14:48:10 字數 4244 閱讀 3540

mkdir project

#建立專案目錄

cd project

#進入專案目錄

git init #初始化 git 本地倉庫。此命令會在當前目錄新建乙個 .git 目錄,用於儲存 git 倉庫的相關資訊。

touch readme # 建立readme檔案好習慣

git add . # 將當前目錄新增到 git 倉庫中, 使用 git add -a 則是新增所有改動的文件

git commit -m "[commit information] initial commit"

git remote add origin [email protected]:nowamagic/repo.git

# 設定倉庫

git clone http://path/to/git.git # clone 的內容會放在當前目錄下的新目錄

你的本地倉庫由 git 維護的三棵「樹」組成。第乙個是你的 工作目錄,它持有實際檔案;第二個是 快取區(index),它像個快取區域,臨時儲存你的改動;最後是 head,指向你最近一次提交後的結果。

捕獲/追蹤改動:

git add
或者:

git add . # 新增當前目錄,即所有檔案
提交改動:

git commit -m 'commit message'

現在,你的改動已經提交到了 head,但是還沒到你的遠端倉庫。

你的改動現在已經在本地倉庫的 head 中了。執行如下命令以將這些改動提交到遠端倉庫:

git push origin master
可以把 master 換成你想要推送的任何分支。

如果將本地**提交到遠端倉庫發生衝突時,可以獲取遠端版本庫並與本地提交版本庫進行合併後再提交

git pull # 獲取遠端版本庫提交與本地提交進行合併

git push

# 提交

修補最近一次的提交而不建立新的提交

git commit --amend -m "commit message."

git

checkout--

分支是用來將特性開發絕緣開來的。在你建立倉庫的時候,master 是「預設的」。在其他分支上進行開發,完成後再將它們合併到主分支上。

建立乙個叫做「feature_x」的分支,並切換過去:

git checkout -b feature_x
上面這條命令相當於執行如下兩個命令:

git branch feature_x

git checkout feature_x

檢視分支:

git branch
切換回主分支:

git checkout master
再把新建的分支刪掉:

git branch -d feature_x
除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的

git push origin 

刪除遠端分支:

git push origin  :branchname

# 相當於推送本地分支(空)至遠端分支

更新本地倉庫至最新改動:

git pull
相當於,在工作目錄中獲取(fetch)並合併(merge)遠端的改動。

合併其他分支到你的當前分支(例如 master),執行:

git merge 

兩種情況下,git 都會嘗試去自動合併改動。不幸的是,自動合併並非次次都能成功,並可能導致 衝突(conflicts)。 這時候就需要你修改這些檔案來人肉合併這些 衝突(conflicts) 了。改完之後,你需要執行如下命令以將它們標記為合併成功:

git add
在合併改動之前,也可以使用如下命令檢視:

git diff  # 檢視差異
檢視倉庫狀態:

git status

git status -s

# s = ******

檢視日誌:

git log

# 檢視提交資訊

git log --pretty=oneline # 以整潔的單行形式顯示提交資訊

git log --stat

# 檢視提交資訊及更新的檔案

git reflog # 檢視全部log

git tag

1.0.0

1b2e1d63ff

1b2e1d63ff 是你想要標記的提交 id 的前 10 位字元。

tag的其他命令:

git tag # 檢視標籤

git tag 6.x-1.0

# 新增標籤 6.x-1.0

git show 6.x-1.0

# 檢視標籤 6.x-1.0 的資訊

git tag -a 6.x-1.0

965e066 # 為之前提交的資訊記錄 965e066 加上標籤

git push --tags # 提交時帶上標籤資訊

git push origin :/refs/tags/tagname

# 刪除遠端標籤

假如你做錯事(自然,這是不可能的),你可以使用如下命令替換掉本地改動:

git

checkout--

假如你想要丟棄你所有的本地改動與提交,可以到伺服器上獲取最新的版本並將你本地主分支指向到它:

git

fetch

origin

gitreset--

hard

origin/master

首先將遠端倉庫**拉回本地:

git clone http://path/to/git.git # clone 的內容會放在當前目錄下的新目錄
然後檢視版本log:

git log
將本地倉庫(剛從遠端倉庫拉下來的副本)回滾至正確版本:

git reset --hard git reset --hard head^ # 當前版本的上乙個版本

git reset --hard head^^ # 當前版本的上兩個版本

git reset --hard head~100

# 當前版本的上100個版本

強行推送本地倉庫至遠端倉庫:

git

push

-forigin

local_branch

:remote_branch

gitpush

--force

origin

local_branch

:remote_branch

內建的圖形化 git:

gitk
彩色的 git 輸出:

git config color.ui true
顯示歷史記錄時,只顯示一行注釋資訊:

git config format.pretty oneline
互動地新增檔案至快取區:

git add -i

簡單的git使用說明

git使用說明 1.設定git使用者名稱和郵箱資訊 git config global user.name name git config global user.email name com 2.建立本地倉庫 git init git add git commit 3.檢視log和diff git...

git 使用說明

head代表當前 最新狀態。tag為某個狀態的標籤。sha1為每個提交日誌的唯一標識。install apt get install git core git clone git 倉 庫可以使用 git clone獲得 git clone git git longene.org unifiedker...

git使用說明

linus為linux kernel project發起的版本控制專案。head代表當前最新狀態。tag為某個狀態的標籤。sha1為每個提交日誌的唯一標識。install apt get install git core git clone git倉庫可以使用git clone獲得 git clon...