Git 第二篇:基本操作


Git的基本操作主要是創建本地庫、增加內容,提交修改 ,並把修改同步到遠程庫,常用的命令是git clone、git checkout、git commit、git push、git pull等。

一,創建本地庫

本地庫(Repository)是一個目錄,這個目錄里面的所有文件都可以被Git管理起來,Git跟蹤目錄中每個文件的修改和刪除,以便在將來某個時刻可以“還原”。

1,創建新的本地代碼庫

創建一個版本庫其實就是創建一個空目錄,並使Git管理該目錄。

# 在當前目錄新建一個Git代碼庫
$ git init

# 新建一個目錄,將其初始化為Git代碼庫
$ git init [project-name]

Git 使用 git init 命令來初始化一個版本庫,Git 的很多命令都需要在版本庫中運行,所以 git init 是使用 Git 的第一個命令。

2,復制遠程庫

如果要從遠程庫中下載代碼到本地,可以直接克隆一個遠程庫:

git clone [url]

使用 git clone 從現有 Git 倉庫中拷貝代碼到本地庫。

在執行完成 git init / clone 命令后,版本庫中會自動生成一個 .git 目錄,該目錄包含了資源的所有元數據,其他的目錄保持不變。

在本地庫創建完成之后,就可以使用git 命令來對本地庫進行修改和管理分支。

二,增加、刪除或移動文件

在git中可以增加新文件,刪除舊文件或者把文件移動到其他folder中。

1,增加新文件

git add 命令用於增加Git追蹤的內容,把內容加入到本地代碼庫的索引當中

 git add file1 file2

應該建立一個清晰的概念就是,git add 只是刷新了 Git 的跟蹤信息,file1 和 file2 這兩個文件中的內容並沒有提交到 Git 的內容跟蹤范疇之內。

添加所有未跟蹤文件用 

git add -A

添加所有未跟蹤文件並且提交用 

git commit -a

2,文件的刪除

要從 Git 中移除某個文件,就必須要從已跟蹤文件清單中移除,然后提交。可以用以下命令完成此項工作

# 刪除工作區文件,並且將這次刪除放入暫存區
git rm [file1] [file2] ...

如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f

git rm -f <file>

如果把文件從暫存區域移除,但仍然希望保留在當前工作目錄中,換句話說,僅是從跟蹤清單中刪除,使用 --cached 選項即可

# 停止追蹤指定文件,但該文件會保留在工作區
git rm --cached [file]

3,文件的移動

git mv 命令用於移動或重命名一個文件、目錄、軟連接。

# 改名文件,並且將這個改名放入暫存區
git mv [file-original] [file-renamed]

三,提交修改

提交內容到本地代碼庫使用 git commit命令,使用 -m 選項以在命令行中為該次提交添加注釋:

git add file1 file2
git commit -m 'comments'

如果你覺得 git add 提交緩存的流程太過繁瑣,Git 也允許你用 -a 選項跳過這一步,命令格式如下:

git commit -a

或者使用  -am 選項,跳過git add,並為這一次提交添加注釋:

git commit -am 'comments'

四,遠程同步

遠程同步主要分為兩部分:把修改推送到遠程庫,使用push命令;把遠程庫中的代碼同步到本地庫,使用fetch。pull命令是push命令和fetch命令功能的合並。

# 下載遠程倉庫的所有變動
$ git fetch [remote]

# 取回遠程倉庫的變化,並與本地分支合並
$ git pull [remote] [branch]

# 上傳本地指定分支到遠程倉庫
$ git push [remote] [branch]

# 強行推送當前分支到遠程倉庫,即使有沖突
$ git push [remote] --force

# 推送所有分支到遠程倉庫
$ git push [remote] --all

五,Git分支管理

 使用分支意味着你可以從開發主線上分離開來,在不影響主線的同時繼續工作。

1,創建分支命令

新建一個分支,但依然停留在當前分支

git branch (branchname)

2,切換分支命令

切換到指定分支,並更新工作區

git checkout (branchname)

當你切換分支的時候,Git 會用該分支的最后提交的快照替換你的工作目錄的內容, 所以多個分支不需要多個目錄。

3,刪除分支命令

git branch -d (branchname)

4,合並分支命令

你可以使用以下命令把指定的分支合並到當前分支中去:

# 合並指定分支到當前分支
git merge [branch]

合並並不僅僅是簡單的文件添加、移除的操作,Git 也會合並修改。一旦某分支有了獨立內容,你終究會希望將它合並回到你的主分支。

step1:切換到主分支,當前分支是主分支

git checkout master

step2,把指定的分支合並到當前分支(主分支)

git merge change_branch

當把輔分支合並到 "master" 分支時,如果出現合並沖突,接下來就需要手動去修改它。

step3,提交合並

在 Git 中,我們可以用 git add 要告訴 Git 文件沖突已經解決,並使用git commit來提交分支的合並。

git add solve_conflict
git commit

六,查看Git

用戶可以查看git的狀態和提交的歷史記錄

1,查看git的狀態

git status 以查看在你上次提交之后是否有修改,使用-s參數,以獲得簡短的結果輸出,如果沒加該參數,Git會輸出詳細的內容:

git status -s

執行 git diff 來查看執行 git status 的結果的詳細信息。git diff 命令顯示已寫入緩存與已修改但尚未寫入緩存的改動的區別。

git diff 有兩個主要的應用場景。

  • 尚未緩存的改動:git diff
  • 查看已緩存的改動: git diff --cached
  • 查看已緩存的與未緩存的所有改動:git diff HEAD
  • 顯示摘要而非整個 diff:git diff --stat

2,查看提交的歷史

使用git log 命令查看提交的歷史

# 顯示當前分支的版本歷史
git log
# 顯示commit歷史,以及每次commit發生變更的文件
git log --stat
# 搜索提交歷史,根據關鍵詞
git log -S [keyword]

 

參考文檔:

GIT 常用命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM