Git常用操作(第1部分)

git help 獲取幫助

git help 命令
在這裏插入圖片描述
git 命令 –help 調出幫助文檔
git add -help
在這裏插入圖片描述

git add 添加至暫存區

git add命令實現對指定文件的跟蹤,並放入到暫存區中。git add 後面跟的是文件,跟蹤的是當前目錄下的該文件。如果git add 後跟的是目錄路徑,遞歸跟蹤該目錄下的所有文件。
在這裏插入圖片描述1. 添加指定文件 git add 文件名
在這裏插入圖片描述2. 添加所有文件 git add .
在這裏插入圖片描述

git commit 提交

git add 把文件放入暫存區,需要再執行git commit命令完成提交,這樣就放入倉庫當中。在提交的過程中需要加一個-m選項,輸入提交說明,這個選項必不可少。在git提交時,如果在命令行中沒有提供說明,也就是沒有使用-m選項參數,那麼git會打開一個默認的編輯器,要求輸入提交說明,輸入完畢後保存退出即可。
git commit --amend 提交撤消操作
提交到了倉庫才發現漏掉了幾個文件沒有添加,或者提交信息寫錯了。git commit --amend提交命令嘗試重新提交。會將暫存區中的文件提交。 如果自上次提交以來你還未做任何修改(例如,在上次提交後馬上執行了此命令),那麼快照會保持不變,而你所修改的只是提交信息。
說明:只會有一個提交。第二次提交將代替第一次提交的結果。

Ctrl + u 清除一行
Ctrl + L 清屏

git status 顯示工作區文件狀態

查看哪些文件處於什麼狀態,可以使用git status命名。
在這裏插入圖片描述克隆倉庫後立即使用git status 命令會見到類似以下這樣的輸出信息
nothing to commit, working directory clean
工作目錄相當乾淨,所有已跟蹤文件在上次提交後都未被更改過。當前目錄下沒有出現任何處於未跟蹤狀態的新文件。否則 Git 會在這裏列出來。
On branch 分支名稱
當前所在分支。
在倉庫中新建一個文件,之前並不存在這個文件,使用git status 命令會見到類似以下這樣的輸出信息
Untracked files
在這裏插入圖片描述
未跟蹤的文件意味着 Git 在之前的快照(提交)中沒有這些文件。Git 不會自動將之納入跟蹤範圍,除非你告訴它“需要跟蹤該文件”, 這樣將不必擔心生成的二進制文件或其它不想被跟蹤的文件包含進來。
使用命令 git add 開始跟蹤一個文件,添加到暫存區,使用git status 命令會見到類似以下這樣的輸出信息
在這裏插入圖片描述
Changes to be committed
如果文件在 Changes to be committed 這行下面的,就說明是已暫存狀態。 如果此時提交,那麼該文件此時此刻的版本將被留存在歷史記錄中。
修改一個已被跟蹤的文件(暫存已修改文件),使用git status 命令會見到類似以下這樣的輸出信息
Changes to be committed:
如果文件出現在 Changes not staged for commit 這行下面,說明已跟蹤文件的內容發生了變化,但還沒有放到暫存區。 要暫存這次更新,需要運行 git add 命令。 git add是個多功能命令,可以用它開始跟蹤新文件,或者把已跟蹤的文件放到暫存區,還能用於合併時把有衝突的文件標記爲已解決狀態等。 簡單理解git add這個命令是添加內容到下一次提交中。
在這裏插入圖片描述
git status緊湊的格式輸出
git status -s 或 git status –short
圖1顯示的是M靠右邊,表示該文件已放入暫存區,之後又被修改了
在這裏插入圖片描述
圖2 ?? 新添加的未跟蹤文件
在這裏插入圖片描述標記
?? 新添加的未跟蹤文件
A 新添加到暫存區中的文件
M 修改過的文件。M 有兩個可以出現的位置,出現在右邊的 M 表示該文件被修改了但是還沒放入暫存區,出現在靠右邊的 M 表示該文件被修改了並放入了暫存區。

git clone 克隆版本庫

git clone克隆現有的倉庫,獲得一份已經存在了的 Git 倉庫的拷貝。Git 克隆的是該 Git 倉庫服務器上的幾乎所有數據,而不是僅僅複製完成你的工作所需要文件。執行 git clone 命令的時候,默認配置下遠程 Git 倉庫中的每一個文件的每一個版本都將被拉取下來。
格式:git clone [url]
克隆遠程倉庫的時候,自定義本地倉庫的名字
git clone [url] 自定義的名稱
在這裏插入圖片描述

git diff 差異比較

git diff命令通過文件補丁的格式顯示具體哪些行發生了改變。查看尚未暫存的文件更新了哪些部分,不加參數直接輸入 git diff命令。比較的是工作目錄中當前文件和暫存區域快照之間的差異, 也就是修改之後還沒有暫存起來的變化內容。
git diff --cached 命令或git diff --staged查看已暫存的將要添加到下次提交裏的內容。
說明:git diff 本身只顯示尚未暫存的改動,而不是自上次提交以來所做的所有改動。有時候一下子暫存了所有更新過的文件後,運行 git diff 後卻什麼也沒有。
在這裏插入圖片描述

git diff 的插件版本

git difftool命令調用圖形化差異比較工具
git difftool --tool-help 命令來看你的系統支持哪些 Git Diff 插件。

git rm 刪除文件

git rm 移除文件,要從 Git 中移除某個文件,就必須要從已跟蹤文件清單中移除,從暫存區域移除,然後提交。 使用 git rm 命令,並連帶從工作目錄中刪除指定的文件,這樣以後就不會出現在未跟蹤文件清單中了。
在這裏插入圖片描述
說明:如果只是簡單地從工作目錄中手工刪除文件,運行 git status 時就會出現“Changes not staged for commit”未暫存清單。
在這裏插入圖片描述git rm 記錄此次移除文件的操作,下一次提交時,該文件就不再納入版本管理了。 如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f。是一種安全特性,用於防止誤刪還沒有添加到快照的數據,這樣的數據不能被 Git 恢復。
在這裏插入圖片描述
想把文件從 Git 倉庫中刪除(亦即從暫存區域移除),但仍然希望保留在當前工作目錄中。想讓文件保留在磁盤,但是並不想讓 Git 繼續跟蹤。忘記添加 .gitignore 忽略文件,可以使用git rm --cached。
git rm 命令後面可以列出文件或者目錄的名字,也可以使用 glob 模式。
例如:刪除 log/ 目錄下擴展名爲 .log 的所有文件。
git rm -f log/*.log
在這裏插入圖片描述說明:星號 * 之前的反斜槓 \, 因爲 Git 有它自己的文件模式擴展匹配方式。

git mv 重命名

Git 不像其它的版本控制系統,並不顯式跟蹤文件移動操作。如果在 Git 中重命名了某個文件,倉庫中存儲的元數據並不會體現出這是一次改名操作。但是Git會知道發生了什麼。
在這裏插入圖片描述格式:git mv 舊文件名 新文件名
git mv命令相當於運行了 三條命令
mv 舊文件名 新文件名 git rm 舊文件名 git add 新文件名
說明:分開操作話,Git意識到這是一次改名,不管以哪種方式結果都一樣。git mv 是一條命令而另一種方式需要三條命令。有時用其他工具批量改名,記得在提交前刪除老的文件名,再添加新的文件名。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章