Git使用新手入門

2021-06-23 09:55:49 字數 3115 閱讀 5419

git 配置

使用git的第一件事就是設定你的名字和email,這些就是你在提交commit時的簽名。

$ git config --global user.name "scott chacon"

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

clone乙個倉庫

git clone git:

建立乙個新的倉庫

現在假設有乙個叫」project.tar.gz」的壓縮檔案裡包含了你的一些檔案,你可以用下面的命令讓它置於git的版本控制

管理之下.

$ tar xzf project.tar.gz

$ cd project

$ git init

如何提交乙個檔案?

1:將檔案新增到索引當中去(即暫存區):

$ git add file1 file2 file3

2:將索引中的檔案提交到遠端倉庫

$ git commit

或者使用git commmit -a      來提交暫存區(索引)中的所有的檔案。

注意:在上述過程中,可以使用下面的命令來檢視暫存區中有哪些檔案將被提交:

$ git diff --cached

分支使用:

1:建立乙個分支(如experimental):

$ git branch experimental

2:檢視當前分支列表:

$ git branch

3:切換分支

假定當前分支是master分支,要切換到experimental分支,執行如下命令:

$ git checkout experimental

4:合併分支

假定當前處在master分支下,要將experimental分支合併過來,可使用如下命令:

$ git merge experimental 

注意:合併的過程中,可能會出現衝突,可使用:$git diff 命令檢視哪些檔案有衝突,然後手動修改衝突。

解決衝突示例:

解決合併中的衝突

如果執行自動合併沒有成功的話,git會在索引和工作樹里設定乙個特殊的狀態, 提示你如何解決合併中出現的衝

突。有衝突(conflicts)的檔案會儲存在索引中,除非你解決了問題了並且更新了索引,否則執行git commit都會失敗:

$ git commit

file.txt: needs merge

如果執行git status 會顯示這些檔案沒有合併(unmerged),這些有衝突的檔案裡面會新增像下面的衝突識別符號:

<<<<<<< head:file.txt

hello world

*****==

goodbye

>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

你所需要的做是就是編輯解決衝突,(接著把衝突識別符號刪掉),再執行下面的命令:

$ git add file.txt

$ git commit

注意:提交注釋裡已經有一些關於合併的資訊了,通常是用這些預設資訊,但是你可以新增一些你想要的注釋。

上面這些就是你要做乙個簡單合併所要知道的,但是git提供更多的一些資訊來 幫助解決衝突。

撤銷乙個合併:

如果你覺得你合併後的狀態是一團亂麻,想把當前的修改都放棄,你可以用下面的命令回到合併之前的狀態:

$ git reset --hard head

或者你已經把合併後的**提交,但還是想把它們撒銷:

$ git reset --hard orig_head

5:刪除分支:

$ git branch -d experimental

日誌管理:

1:檢視日誌

git log命令可以顯示所有的提交(commit)的日誌資訊。

可以新增一些引數,限定git log命令

讓git log顯示補丁(patchs):

$ git log -p

如果用--stat選項使用'git log',它會顯示在每個提交(commit)中哪些檔案被修改了

$ git log --stat

可以按你的要求來格式化日誌輸出。『--pretty'引數可以使用若干表現格式

$ git log --pretty=oneline

$ git log --pretty=short

2:日誌排序

你也可以把日誌記錄按一些不同的順序來顯示。注意,git日誌從最近的提交(commit)開始,並且從這裡開始向它們

父分支回溯。如果你要指定乙個特定的順序,可以為git log命令新增順序引數(ordering option)。

$ git log --pretty=format:'%h : %s' --topo-order --graph

$ git log --pretty=format:'%h : %s' --date-order --graph

也可以用 『--reverse'引數來逆向顯示所有日誌。

分布式工作流程:

1:獲取工程**:

在本機上另外乙個開發者目錄下clone乙份**

$ git clone /home/alice/project myrepo

也可以從遠端獲取**:

git clone git:

2:對**進行開發,然後提交。

$ git commit -a

此處,可以開發過程中可以多次重複進行。

3:另乙個開發者,可以從遠端將其他人提交的修改同步過來。

$ git pull /home/bob/myrepo master

注意:git pull 命令的用法, git pull  本地開發**   遠端** 

從遠端pull**,一般有兩步:

(1):從遠端分支(remote branch)抓取被修改的內容

在config檔案中定義$ git remote add bob /home/bob/myrepo(使用git remote命令建立了bob的運程倉庫的縮寫)

這樣就可以使用:$ git fetch bob來完成該第一部分工作。

(2):把修改的內容合併進當前的分支

採用git merge bob/master命令即可。

Git新手入門

git是一款分布式版本管理系統,是現在最主流的版本管理系統。在svn集中式版本管理下,使用者要修改檔案必須先到伺服器獲取到最新的檔案,然後再將自己修改的內容提交給伺服器,使用者必須在聯網的工作環境下工作。而在git的分布式版本管理下,則允許使用者在完全離線的情況下工作,然後連上網路後再將自己的修改提...

git之新手入門使用

git init 將本地資料夾初始化成乙個本地的倉庫 git status 命令檢視當前倉庫檔案的狀態 git add readme.txt 命令把readme.txt檔案加入到暫存區 git commit m 第一次提交readme.txt 把readme.txt從暫存區提交到版本庫 git di...

git新手入門筆記

如下圖所示 解釋 最開始 在workspace 工作區 中 add index 暫存區 commit repository 倉庫 push remote 遠端庫 也可以 現在remote中 pull 工作區 7git的基礎操作 7.1 新建乙個資料夾hellogit 7.2 開啟hellogit資料...