Git命令大全

2021-12-10 郭霖

本篇來自 24隋心所欲 的投稿。Android Studio 的 git插件 用起來很溜(當然還有其他一些工具),它們的本質都是git命令的UI化封裝。

本文的命令算是很全面了,看不完沒關係,但是一定要記得收藏哦~~

24隋心所欲 的博客地址:

http://24suixinsuoyu.com


git init

初始化一個 Git 倉庫(repository),即把當前所在目錄變成 Git 可以管理的倉庫。

git add 文件

把文件添加到 暫存區(stage),可被 track 追蹤紀錄下來。可多次使用來添加多個文件

git add *

添加所有修改到暫存區,效果同 git add all待驗證

git add -A

暫存所有的文件,包括新增加的、修改的和刪除的文件。

git add .

暫存新增加的和修改的文件,不包括已刪除的文件。即當前目錄下所有文件。

git add -u

暫存修改的和刪除的文件,不包括新增加的文件。

git add -i

交互式添加文件到暫存區。

git add -p

暫存文件的一部分。

git commit -m "本次提交說明"

一次性把暫存區所有文件修改提交到倉庫的當前分支。注意:提交信息可為中文也可為英文,若為英文則通常用一般現在時。如果不加參數 -m 則會跳轉到編輯器強制填寫提交說明信息。

git commit -am "本次提交說明"

使用該命令,Git 就會自動把所有已經跟蹤過的文件暫存起來一併提交,從而跳過 git add 步驟,參數 -am 也可寫成-a -m「在 oh-my-zsh 下,直接用 gcam 「message」 就搞定了」 —魔都三帥語。

git commit --amend

重新提交,最終只會有一個提交,第二次提交將 代替 第一次提交的結果。尤其適用於提交完了才發現漏掉了幾個文件沒有添加,或者提交信息寫錯了的情況。

git commit --amend --reset-author

在上一次 commit 之後想重新更新一下時間。amend 實際上修改了上一個 commit。所以如果已經 push 了上一個 commit,請儘量不要 amend。如果一定要 amend 已經 push 了的 commit,請確保這個 commit 所在的 branch 只有你一個人使用(否則會給其他人帶來災難),然後在 amend 之後使用 git push –force。只要多加小心,該命令貌似沒什麼卵用。

git commit -p

commit 文件的一部分,適合工作量比較大的情況。之後,Git 會對每塊修改彈出一個提示,詢問你是否 stage,按 y/n 來選擇是否 commit 這塊修改,? 可以查看其他操作的說明。

git status

顯示當前倉庫的最新狀態。提交之後,工作區就是「乾淨的」,即沒有新的修改;有未提交文件時,最上面顯示的是在 staging area,即將被 commit 的文件;中間顯示沒有 stage 的修改了的文件,最下面是新的還沒有被 Git track 的文件。「在 oh-my-zsh 下,輸入 gst 就出來了,誰用誰知道,裝逼利器,效率槓槓的」—魔都三帥語。

git status -s 或 git status --short

狀態簡覽。輸入此命令後,有如下幾種情況(總共5種情況):新添加的未跟蹤文件前面有 ?? 標記,新添加到暫你可能注意到了 M 有兩個可以出現的位置,出現在右邊的 M 表示該文件被修改了但是還沒放入暫存區,出現在靠左邊的 M 表示該文件被修改了並放入了暫存區

git diff

查看 工作區中的修改

git diff --staged 或 git diff --cached

查看 暫存區中的修改

git diff <commit id1> <commit id2>

比較兩次 commit 之間的差異。

git diff <branch1> <branch2>

在兩個 branch 之間比較。

git diff 文件

查看指定文件具體修改了哪些內容。

git diff HEAD -- 文件

查看版本庫最新版本和工作區之間的區別,貌似沒什麼卵用。

git difftool --tool-help

查看系統支持哪些 Git Diff 插件,貌似沒什麼卵用。

git show

查看最後一個 commit 的修改。

git show HEAD~3

查看倒數第四個 commit 的修改,HEAD~3 就是向前數三個的 commit,即倒數第四個 commit。

git show deadbeef

查看 hash 為 deadbeef 的 commit 的修改。

git blame 文件

查看誰什麼時間改了哪些文件。

git log

顯示從最近到最遠的提交日誌,包括每個提交的 SHA-1 校驗和、作者的名字和電子郵件地址、提交時間以及提交說明等基本信息。

git log -p -2

除顯示基本信息之外,還顯示每次提交的內容差異,-2 意思是僅顯示最近兩次提交。特別適用於進行代碼審查,或者快速瀏覽某個搭檔提交的 commit 所帶來的變化

git log --start

顯示每次提交的簡略的統計信息,貌似不太好用。

git log --graph

查看分支合併圖。

git log --pretty=oneline

簡化日誌信息,將每個提交放在一行顯示,查看的提交數很大時非常有用,也可帶有 –graph 參數,效果同 git config format.pretty oneline

git log --graph --pretty=oneline --abbrev-commit

查看分支的合併情況,包括分支合併圖、一行顯示、提交校驗碼縮略顯示。

git log --oneline --decorate

查看各個分支當前所指的提交對象(commit object)。Git 倉庫中有五個對象:三個 blob 對象(保存著文件快照)、一個樹對象(記錄著目錄結構和 blob 對象索引)以及一個提交對象(包含著指向前述樹對象的指針和所有提交信息)。

git log --oneline --decorate --graph --all

查看分叉歷史,包括:提交歷史、各個分支的指向以及項目的分支分叉情況。

git reset --hard HEAD^

回退到上一個版本。同理,回退到上上個版本為:HEAD^ ^, 回退到上100個版本為:HEAD-100,貌似波浪號 ~ 也可以,變成倒數第101個。

git reflog

紀錄每一次命令,可用於查找某一提交版本的 commit id

git reset --hard <commit id>

回退到某一提交過的版本,如果已經 push,則回退的意義不大了。恢復一個徹底刪掉的 commit,見連結:

https://github.com/xhacker/GitProTips/blob/master/zh_CN.md#別人-push-了修改我無法-push-了怎麼辦

工作區(Working Directory)

項目所在的文件目錄。

版本庫(Repository)

工作區有一個隱藏目錄文件 .git(可通過命令 ls -ah 查看隱藏文件),這就是 Git 的版本庫。版本庫裡主要有稱為 stage 的暫存區、Git 自動創建的 master 分支,以及指向 master 的一個指針 HEAD,表示版本庫的最新版本。

git checkout -- 文件

丟棄工作區的修改,包括 修改後還沒有放到暫存區 添加到暫存區後又作了修改 兩種情況。總之,讓該文件回到最近一次 git commit 或 git add 之後的狀態。注意:沒有 – ,就變成了切換分支的命令了。郭神的書 P195 沒有 – 符號,可能是筆誤。

git reset HEAD 文件

暫存區 的修改撤銷(unstage),回退到工作區。注意:在 Git 中任何已提交的東西幾乎總是可以恢復的。甚至那些被刪除的分支中的提交或使用 –amend 選項覆蓋的提交也可以恢復。然而,任何未提交的東西丟失後很可能再也找不到了。

git reset --hard

重置所有文件到未修改的狀態。

git reset <commit SHA>

重置到某個 commit。

git reset HEAD~1

將當前 branch 重置為倒數第二個 commit(即丟棄最後一個 commit)。git reset 有三個參數可以選擇,–soft、–mixed 和 –hard

git reset --soft

修改最後一個 commit。貌似沒什麼卵用。

git revert <commit id>

還原某個 commit。還原(revert)的實質是產生一個新的 commit,內容和要還原的 commit 完全相反。比如,A commit 在 main.c 中增加了三行,revert A 產生的 commit 就會刪除這三行。如果我們非常確定之前的某個 commit 產生了 bug,最好的辦法就是 revert 它。git revert 後 git 會提示寫一些 commit message,此處最好簡單描述為什麼要還原;而重置(reset)會修改歷史,常用於還沒有 push 的本地 commits。

git revert HEAD

還原到上次 commit。

git rm 文件

把文件從版本庫中刪除,不會再追蹤到。

git rm -f 文件

強制刪除版本庫中有修改的文件。

git rm --cached 文件

把文件從版本庫中刪除,但讓文件 保留在工作區且不被 Git 繼續追蹤(track),通常適用於在 rm 之後把文件添加到 .gitignore 中的情況。

git rm log/\*.log

刪除 log/ 目錄下擴展名為 .log 的所有文件。

git rm \*~

刪除以 ~ 結尾的所有文件。

git remote

查看已經配置的遠程倉庫伺服器,效果同 git remote show

git remote -v

顯示需要讀寫遠程倉庫使用的 Git 保存的簡寫與其對應的 URL。

git ls-remote <remote-name>

顯示獲得遠程引用的完整列表。

git remote show <remote-name>

參數 remote-name 通常都是縮寫名 origin,可以得到遠程分支更為詳細的信息以及 pull 和 push 相關提示信息。

git remote add <shortname> <url>

添加並關聯一個遠程庫。其中,shortname 一般是 origin,也可以是其他字符串,用來代替整個 url。

git push

推送本地修改到 origin。

git push -u origin master

關聯後,使用該命令第一次推送 master 分支的所有內容,後續再推送的時候就可以省略後面三個參數了,其中參數 u 代表上遊(upstream)的意思。

git push origin 遠程分支(通常是 master)

推送最新修改。注意:多人協作時,除了 merge 可能會發生衝突之外,推送時也有可能發生衝突。在他人推送之後是不能立即推送自己的修改的,想想也是,因為可能會覆蓋他人的工作,所以必須先拉取(pull)別人的修改合併(merge)之後才能推送。如果不是第一次推送,後面的參數可省略。

git push <remote-name> <commit SHA>:<remote-branch_name>

push 一部分 commit。例如:git push origin 9790eff:master 即為 push 9790eff 之前的所有 commit 到 master。

git remote rename old_name new_name

重命名一個遠程倉庫的簡寫名。

git remote rm <remote-name>

移除一個遠程倉庫。

git remote add origin http://github.com/username/<repo name>.git

Create a remote repo named origin pointing at your Github repo (after you』ve already created the repo on Github) (used if you git init since the repo you created locally isn’t linked to a remote repo yet).

git remote add origin git@github.com:username/<repo name>.git

Create a remote repo named origin pointing at your Github repo (using SSH url instead of HTTP url).

git clone git@github.com:username/<repo name>.git

從遠程庫(origin)克隆一份到本地,倉庫名同遠程倉庫名。

git clone https://github.com/username/repo name.git

作用同上。但 不建議使用 https 協議,原因有二:一是速度慢;二是每次推送必須輸入口令,麻煩。但在某些只開放 http 埠的公司內部就無法使用原生的 ssh 協議而只能用 https,倉庫名同遠程倉庫名。

git clone <repo url> <folder name>

克隆一個倉庫到指定文件夾。

git clone <repo url> .

克隆一個倉庫到當前文件夾(應該是空的)。

git branch

列出本地當前所有分支,方便查看。當前分支前面會標有一個 * 號。

git branch -r

查看遠程分支列表。

git branch -a

顯示所有分支,包括本地和遠程。

git branch -v

查看每一次分支的最後一次提交。

git branch -vv

查看設置的所有跟蹤分支。將所有的本地分支列出來並且包含更多的信息,如每一個分支正在跟蹤哪個遠程分支與本地分支是否是領先、落後或是都有。

git branch --merged

查看所有已經被 merge 的 branch。

git branch --no-merged

查看所有還沒被 merge 的 branch。

git branch --merged | xargs git branch -d

刪除所有已經被 merge 的 branch。

git checkout -b 分支

創建 切換 到新的分支,相當於下面兩條命令:git branch 分支 + git checkout 分支。

git checkout -

切換到上一個 branch。

git cherry-pick <commit id>

假如我們在某個 branch 做了一大堆 commit,而當前 branch 想應用其中的一個,可以使用該命令。

git merge 分支

合併指定分支到當前所在的分支。

git merge --no-ff -m "提交說明信息" 分支

參數 –no-ff 表示 禁用 Fast forward 快進模式,用普通模式合併,這樣合併後的歷史有分支,能看出來曾經做過合併,而 fast forwad 合併就看不出來曾經做過合併。

git branch -d 分支

普通刪除分支(相對強制刪除而言)。一般情況下,先合併完分支,然後再刪除,否則會刪除失敗,除非使用 -D 參數強制刪除。注意:因為創建、合併和刪除分支非常快,所以 Git 鼓勵使用分支完成某個任務,合併後再刪除分支,這個直接在 master 分支上工作效果是一樣的,但過程更安全

git branch -D 分支

強行刪除分支,尤其適用分支內容有了新的修改但還沒有被合併的情況。

git push origin --delete 遠程分支 或 git push origin:遠程分支

刪除一個遠程分支。基本上這個命令做的只是從伺服器上移除這個指針。 Git 伺服器通常會保留數據一段時間直到垃圾回收運行,所以如果不小心刪除掉了,通常是很容易恢復的。

git push origin -delete 分支

在本地和遠程同步刪除分支。

git rebase 目標分支(通常是 master)

在本地 master 上進行變基操作。注意:merge 與 rebase 都是整合來自不同分支的修改

merge 會把兩個分支的最新快照以及二者最近的共同祖先進行三方合併,合併的結果是生成一個新的快照(並提交)。

rebase 會把提交到某一分支(當前分支)上的所有修改都轉移至另一分支(目標分支)上,就好像「重新播放」一樣

變基是將一系列提交按照原有次序依次應用到另一分支上,而合併是把最終結果合在一起。簡言之:這兩種整合方法的最終結果沒有任何區別,但是變基使得提交歷史更加整潔

採用變基操作後,項目的最終維護者就不再需要進行整合工作,只需要快進合併便可。

git rebase –ongo 目標分支 第一分支 第二分支:選中在第二分支裡但不在第一分支裡的修改,將它們在目標分支(通常是 master)上重演。

變基有風險,需要遵守的準則是:不要對在你的倉庫外有副本的分支執行變基。否則,會導致混亂。總的原則是,只對尚未推送或分享給別人的本地修改執行變基操作清理歷史,從不對已推送至別處的提交執行變基操作,這樣才能享受到兩種方式帶來的便利。

還可以有這樣的命令:git rebase -i master,git rebase -i 22e21f2,git rebase -i HEAD~3

git stash

把當前分支的工作現場儲存起來,等以後恢復現場後繼續工作。一般適用於還沒有 commit 的分支代碼。

git stash list

查看儲存的工作現場紀錄列表。

git stash apply + git stash drop

用 git stash apply 命令恢復最近 stash 過的工作現場,但是恢復後,stash 內容並不刪除,用 git stash drop 命令來刪除。apply 和 drop 後面都可以加上某一指定的 stash_id。

git stash pop

相當於上面兩條命令,恢復回到工作現場的同時把 stash 內容也刪除了。

git stash clear

清空所有暫存區的 stash 紀錄。drop 是只刪除一條,當然後面可以跟 stash_id 參數來刪除指定的某條紀錄,不跟參數就是刪除最近的。

git stash apply stash@{0}

上面命令中 大括號中的數字不是固定的,因為可以多次 stash,恢復的時候,先用 git stash list 命令查看,然後恢復指定的 stash。

git biselect

發現了一個 bug,用該命令知道是哪個 commit 導致的,貌似不太好用。

git push origin 分支

把該分支上的所有本地提交推送到遠程庫對應的遠程分支上。

git checkout 分支 origin/分支

如果遠程有某一個分支而本地沒有,怎用該命令把遠程的這個分支遷到本地。

git checkout -b 分支 origin/分支

把遠程分支遷到本地順便切換到該分支。

git pull

抓取遠程庫最新提交,拉取並合併。

git fetch

沒有 merge 的 pull。

git branch --set-upstream 分支 origin/分支

建立本地分支和遠程分支的關聯。

git submodule update --recursive

第三方依賴與遠程同步,還可以在最後添加 -f 參數。

git tag

查看所有標籤。注意:標籤不是按照時間列出,而是按照字母排序,但這並不重要

git show <tag-name>

查看標籤信息。

git tag -l 'tag-name'

使用特定的模式查找標籤。

git checkout <tag-name>

切換 tag。

git tag <tag name> <commit id>

在需要打標籤的分支上創建一個輕量標籤(lightweight),默認為 HEAD,也可以指定一個 commit id。

git tag -a <tag-name> -m "標籤說明文字" <commit id>

創建附註標籤(annotated),用 -a 指定標籤名,-m 指定說明文字,也可以指定一個 commit id。

git tag -a <tag-name> 提交的校驗和或部分校驗和

後期打標籤,即對過去的提交打標籤。校驗和(checksum):長度為 40位的16進位數的 SHA-1 值字符串。然而,只要沒有衝突,通常可以用一個比較短的前綴來表示一個 commit。

git tag -s <tag-name> -m "標籤說明文字" <commit id>

通過 -s 用私鑰籤名一個標籤。籤名採用 GPG 籤名,因此,必須首先按照 pgp(GnuPG),如果沒有找到 gpg,或者沒有 gpg 秘鑰對,就會報錯。如果報錯,請參考 GnuPG 幫助文檔配置 Key。

git tag -d <tag-name>

刪除一個本地標籤。因為創建的標籤都只存儲在本地,不會自動推送到遠程。所以,打錯的標籤可以在本地安全刪除。

git push origin <tag-name>

推送本地某個標籤到遠程,默認情況下,git push 命令並不會推送標籤到遠程,必須顯示推送。

git push origin --tags

參數 tags 表示一次性推送全部未推送到遠程的本地標籤,當其他人從倉庫中克隆或拉取,他們也能得到那些標籤。

git push origin :refs/tags/<tag-name>

刪除一個遠程標籤,先從本地刪除,再用該命令從遠程刪除。

git checkout -b <branch-name> <tag-name>

在特定的標籤上創建一個新分支,貌似沒什麼卵用。

使用 -f 參數,強制添加被 .gitignore 忽略的文件到 Git。

git check-ignore -v 文件

可能是 .gitignore 寫得有問題,使用該命令找出到底哪個命令寫錯了。

https://github.com/github/gitignore

GitHub 上的一個十分詳細的針對數十種項目及語言的 .gitignore 文件列表。

注意:

git config --global alias.st status

使用 git st 代替 git status 命令。

git config --global alias.co checkout

使用 git co 代替 git checkout 命令。

git config --global alias.cm commit

使用 git cm 代替 git commit 命令。

git config --global alias.br branch

使用 git br 代替 git branch 命令。

git config --global alias.unstage 'reset HEAD --'

使用 git unstage 文件 命令代替 git reset HEAD – 文件 命令。

git config --global alias.last 'log -1'

配置一個 git last 命令,讓其顯示最近一次的提交信息。

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

喪心病狂地配置 git lg 命令,讓顯示 log 更加優雅,逼格更高。

git config --global alias.visual '!gitk'

Git 只是簡單地將別名替換為對應的命令。如果想要執行外部命令而不是一個 Git 子命令,可以在命令前面加入 !符號。 如果自己要寫一些與 Git 倉庫協作的工具的話,那會很有用。貌似沒什麼卵用。

git help <key>

git <key> --help

man git-<key> 

git --help

git config -l 或 git config --list

列舉所有 Git 能找到的配置,如果有重複的變量名,Git 會使用它找到的每一個變量的最後一個配置。

git config <key>

檢查 Git 的某一項配置。

git config --glabal core.editor <vim/emacs/...>

配置默認文本編輯器。

git config --global color.ui true

讓 Git 顯示顏色,使命令輸出看起來更醒目。

git config core.ignorecase false

Git 是大小寫不敏感的,如果要大小寫敏感需要執行此命令。

git config --global core.quotepath false

設置顯示中文文件名。

git config --global credential.helper cache

如果正在使用 HTTPS URL 來推送,Git 伺服器會詢問用戶名與密碼。 默認情況下它會在終端中提示伺服器是否允許你進行推送。如果不想在每一次推送時都輸入用戶名與密碼,可以設置一個 「credential cache」。 最簡單的方式就是將其保存在內存中幾分鐘,使用該命令即可,貌似沒什麼卵用。

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

git config --global user.email "your email"

設置 commit 中的姓名和 email,去掉 –global 參數則為針對每個 repo 單獨設定姓名和郵箱。

git commit --author "your name <your email>"

以其他身份 commit。

git mv old_filename new_filename

重命名文件。相當於下面三條命令:

git log 常用選項:

-p — 按補丁格式顯示每個更新之間的差異。

–stat — 顯示每次更新的文件修改統計信息。

–shortstat — 只顯示 –stat 中最後的行數修改添加移除統計。

–name-only — 僅在提交信息後顯示已修改的文件清單。

–name-status – 顯示新增、修改、刪除的文件清單。

–abbrev-commit — 僅顯示 SHA-1 的前幾個字符,而非所有的 40 個字符。

–relative-date — 使用較短的相對時間顯示(比如,「2 weeks ago」)。

–graph — 顯示 ASCII 圖形表示的分支合併歷史。

–pretty — 使用其他格式顯示歷史提交信息。可用的選項包括 oneline,short,full,fuller 和 format(後跟指定格式)。

git log --pretty=format:"%h - %an, %ar : %s"

自定義 log 顯示樣式,也可帶有 –graph 參數。常用的格式佔位符寫法及其代表的意義:

git log --since=2.weeks

顯示按照時間限制的 log 信息,這個時間格式可以是:「2008-01-15」 或 「2 years 1 day 3 minutes ago」 等。可用的參數還有:–until,–author,–grep(提交說明中的關鍵字)等。注意:如果要得到同時滿足這兩個選項搜索條件的提交,就必須用 –all-match 選項。否則,滿足任意一個條件的提交都會被匹配出來

git log -Sfunction_name

顯示添加或移除某一個特定函數的引用(字符串)的提交。

限制 git log 輸出的選項:

-(n) — 僅顯示最近的 n 條提交。

–since, –after — 僅顯示指定時間之後的提交。

–until, –before — 僅顯示指定時間之前的提交。

–author — 僅顯示指定作者相關的提交。

–committer — 僅顯示指定提交者相關的提交。

–grep — 僅顯示含指定關鍵字的提交。

-S — 僅顯示添加或移除了某個關鍵字的提交。

For example,git log –pretty=」%h - %s」 –author=gitster –since=」2008-10-01」 \ –before=」2008-11-01」 –no-merges – t/,即為:查看 Git 倉庫中,2008 年 10 月期間,作者提交的但未合併的測試文件。


如果你有好的技術文章想和大家分享,歡迎向我的公眾號投稿,投稿具體細節請在公眾號主頁點擊「投稿」菜單查看。

歡迎長按下圖 -> 識別圖中二維碼或者掃一掃關注我的公眾號:


相關焦點

  • Git基本命令大全
    如果以下最基本的git命令都不懂,那麼可以轉行了。1、git clone -b <指定分支名> <遠程倉庫地址>克隆指定分支如:git clone -b bestore_master ssh://git@git-ssh.xxx.com/xxx.git
  • Git 從入門到放棄命令大全
    對於剛學 Git 的朋友來說太痛苦了,一堆命令
  • 你需要的git命令大全來了
    雖然你可能用圖形化工具比較多,但基本的git命令還是需要熟悉的。今天分享常用git命令。項目前的git配置檢查git版本git --version查看git相關命令git --help查看當前的git配置信息git config --list查看git用戶名g
  • 您必須知道的 Git 分支開發規範,附 Git 常用命令大全!
    ## 如果需要的化可以添加一個連結到issue地址或者其它文檔最後列舉一些我們團隊人手列印一份的 Git 常用命令清單。新建代碼庫常用命令。分支管理命令。tag$ git checkout -b [branch] [tag]查看一些信息的常用命令。
  • linux命令大全
    Linux命令中涉及文件管理的命令(49條)有:cat、chattr、chgrp、chmod、chown、cksum、cmp、diff、diffstat、file、find、git、gitview、indent、cut、ln
  • GIT的基本命令
    零、背景雖然我多年前就使用 github了,但一直局限於簡單的命令,什麼分支合併刻意的去學過
  • Git常用命令總結
    git log --stat: show diffstat of changes introduced at each commit.     同樣是用來看改動的相對信息的,--stat比-p的輸出更簡單一些.
  • Git命令的用法小結
    git命令的基本數據流Git架構倉庫一個git倉庫包含工作目錄,與.git目錄。也可以通過命令行設置,如$ git config --global user.email 郵箱機制$ git config --global user.name 用戶名幫助(help)有多種方式獲取git的整體幫助,或者某個命令的幫助。
  • Git: 聊聊Rebase命令
    先切換會origin分支,通過pull指令將origjn分支上的最新改動拉取下來。然後在用git checkout mywork切換會mywork分支,到這裡就能用git rebase orgin來進行變基了。
  • git在項目中的常用命令
    其中.git文件夾中包含了兩個部分,一個是暫存區(Index或者Stage),顧名思義就是暫時存放文件的地方,通常使用add命令將工作區的文件添加到暫存區裡;本地倉庫:.git文件夾裡還包括git自動創建的master分支,並且將HEAD指針指向master分支。
  • Git 常用命令及使用
    Git 常用命令使用1)、本地庫初始化 git init2)、設置籤名作用:區分不同開發人員的身份。說明:這裡設置的籤名和登錄遠程庫(代碼託管中心)的帳戶沒有關係。a)、項目級別籤名:git config user.name [AAA]git config user.email [郵箱地址]籤名信息位置:cat .git/configb)、系統級別籤名:git config --globaluser.name [AAA]git config --global user.email
  • Git命令詳解與提交規範
    Staged/Index暫存區,當執行 git add 的命令後,工作區的文件就會被移入暫存區,暫存區標記了當前工作區中哪些內容是被 Git 管理的,當完成某個需求或者功能後需要提交代碼,第一步就是通過 git add 先提交到暫存區。Repository/History本地倉庫,位於自己的電腦上,通過 git commit 將暫存區的內容提交到本地倉庫。
  • 【Git】Git-常用命令備忘錄(三)
    #小明童鞋,克隆git clone xxx.git#小明童鞋,創建了dev分支git switch -c devgit add .git commit -m "c"git add xxx.gogit commit -m "update xxx.go"git add App.vuegit commit -m "update App.vue"#大明童鞋,克隆git clone xxx.gitgit add main.jsgit push
  • 一學就會的git命令
    導讀使用git 已不知好幾年,最近想著把常用的一些git 命令做個總結,本文主要寫的是git常用的命令。幾個常用的命令mkdir folder_name  // 創建文件夾 [folder_name: 文件夾名稱,舉個慄子:git-demo]cd  folder_name    // 進入文件夾touch file_name    // 創建一個文件 [file_name:
  • Git新命令switch和restore
    命令承載了分支操作和文件恢復的部分功能,有點複雜,並且難以使用和學習,所以社區解決將這兩部分功能拆分開,在git 2.23.0中引入了兩個新的命令switch和restore用來取代checkout下面分別來說說分支操作和文件恢復,如果你對git還不太熟悉,可以先閱讀我的git入門文章分支操作原來git有兩個命令用來操作分支,分別是branch和checkout
  • Python 命令行之旅:使用 docopt 實現 git 命令
    按照慣例,我們要像使用 argparse 一樣使用 docopt 來實現 git 命令。為了讓沒讀過 使用 argparse 實現 git 命令 的小夥伴也能讀明白本文,我們仍會對 git 常用命令和 gitpython 做一個簡單介紹。本系列文章默認使用 Python 3 作為解釋器進行講解。
  • Git命令的動畫展示,讓我們學習Git事半功倍
    Git幾乎是每個程式設計師的標配,當然有時候也是噩夢,因為如果不是對他的各種命令非常熟悉的話,各種繞腦的命令會把我們弄暈,因為很多時候我們並不知道這個命令內部到底是怎麼樣的,如果每一個命令都有相對應的動畫,我們是不是理解起來更容易一些呢?
  • Git實戰演練,常用命令總結
    branch:其他分支,我們可以把master分支上的代碼拷貝一份,重新命名為其他分支名work space:就是我們的工作區,使用git  status就可以看到工作區的內容有無變動responsitory:倉庫,我們將代碼寫好之後先add,在commit,就提交到我們的本地倉庫中。
  • Git新手使用命令集合-初級
    哈哈當然,對於使用命令操作來講,一般只要記住幾個就可以了,如果要熟練使用,那麼至少得60~~100+吧!不然也不能算熟練吧!所以要全部一下記住,常人來講,還是有一些難度吧!那麼,如果命令行操作還有難度的朋友們注意了,本文就是你的福音,我這裡也主要寫給各種會使用到命令行操作GIT的小猿們。
  • Linux/git常用命令
    history : 查看命令歷史13.  help : 幫助14.  exit : 退出15.  #:注釋gitgit config -l : 查看配置git config --system --list :系統配置git