柚子快報邀請碼778899分享:git 常用基礎(chǔ)命令
柚子快報邀請碼778899分享:git 常用基礎(chǔ)命令
git
一、git 配置二、git 建立版本庫1、將尚未進行版本控制的本地目錄轉(zhuǎn)換為 Git 倉庫2、從其它服務(wù)器 克隆 一個已存在的 Git 倉庫
三、git 基礎(chǔ)操作1、[git status] 查看倉庫當(dāng)前狀態(tài)2、[git diff] 比較文件差異3、[git add] 將文件添加到暫存區(qū)(追蹤文件)4、[git commit -m] 提交更新5、[git rm] 移除文件6、[git log] 查看日志7、[git commit --amend -m] 覆蓋最近一次提交信息8、[git checkout -- filename] 丟棄工作區(qū)修改9、[git reset HEAD filename] 撤銷使用git add后暫存的文件。10、[git reset] 版本回退
四、git 遠程倉庫操作1、[git remote] 管理遠程倉庫2、[git fetch] 獲取遠程倉庫代碼3、[git pull] 獲取遠程倉庫代碼并直接合并到本地4、[git push] 將本地倉庫推送到遠程倉庫5、[git push
五、git 打標(biāo)簽1、[git tag] 列出已有的標(biāo)簽2、[git tag -a
六、git 分支管理1、[git branch
七、git 子模塊(submodule)1、[git submodule add
一、git 配置
當(dāng)安裝了git后的第一步就是配置git信息,需要配置用戶姓名和用戶郵箱。只需要配置這兩條就可以使用了。
git config --global user.name "Your Name"
git config --global user.email "Your Email"
git config --list:查看配置信息,還有許多其它選項可以使用git help config這條命令查看幫助文檔。
二、git 建立版本庫
1、將尚未進行版本控制的本地目錄轉(zhuǎn)換為 Git 倉庫
在需要進行版本控制的目錄下執(zhí)行g(shù)it初始化命令,這樣會創(chuàng)建一個.git的目錄。如果目錄下有其他文件內(nèi)容,應(yīng)該開始追蹤這些文件。具體操作如下:
git init # 初始化目錄鏡像版本控制
git add filename # 添加需要追蹤的文件
2、從其它服務(wù)器 克隆 一個已存在的 Git 倉庫
通過拉取開源倉庫從而獲得一個git倉庫
git clone url # 這將從指定的url中拉取一個倉庫
三、git 基礎(chǔ)操作
1、[git status] 查看倉庫當(dāng)前狀態(tài)
git status:這會顯示當(dāng)前git倉庫的狀態(tài),哪些文件被修改了,哪些文件被暫存了,哪些文件還沒有暫存等等這些信息。
2、[git diff] 比較文件差異
git diff:查看工作區(qū)與暫存區(qū)的差異git diff
3、[git add] 將文件添加到暫存區(qū)(追蹤文件)
git add
4、[git commit -m] 提交更新
git commit -m "說明信息":將暫存區(qū)文件提交
5、[git rm] 移除文件
git rm
6、[git log] 查看日志
git log
-p:顯示提交的補丁(具體更改內(nèi)容)。
--oneline:以簡潔的一行格式顯示提交信息。
--graph:以圖形化方式顯示分支和合并歷史。
--decorate:顯示分支和標(biāo)簽指向的提交。
--author=<作者>:只顯示特定作者的提交。
--since=<時間>:只顯示指定時間之后的提交。
--until=<時間>:只顯示指定時間之前的提交。
--grep=<模式>:只顯示包含指定模式的提交消息。
--no-merges:不顯示合并提交。
--stat:顯示簡略統(tǒng)計信息,包括修改的文件和行數(shù)。
--abbrev-commit:使用短提交哈希值。
--pretty=<格式>:使用自定義的提交信息顯示格式。
7、[git commit --amend -m] 覆蓋最近一次提交信息
git commit --amend -m "說明信息":如果上次提交漏了幾個文件,或者對于上一次提交時的說明信息不太滿意,可以使用這條命令覆蓋上次提交。如果有遺漏的文件,那么先使用git add添加遺漏的文件后再使用這條命令。如果滅有遺漏的文件直接使用這條命令修改說明信息。
8、[git checkout – filename] 丟棄工作區(qū)修改
git checkout --
9、[git reset HEAD filename] 撤銷使用git add后暫存的文件。
git reset HEAD
10、[git reset] 版本回退
git reset <--hard | --soft> HEAD:回退到某個版本,不同參數(shù)效果不一樣,參數(shù)說明如下:
--hard: 參數(shù)撤銷工作區(qū)中所有未提交的修改內(nèi)容,將暫存區(qū)與工作區(qū)都回到上一次版本,并刪除之前的所有信息提交(完全回退到某個版本)
--soft:參數(shù)用于回退到某個版本(會保留當(dāng)前問題件的修改內(nèi)容)
HEAD 說明:
HEAD:表示當(dāng)前版本
HEAD^ :上一個版本
HEAD^^ :上上一個版本
HEAD^^^ :上上上一個版本
以此類推...
可以使用 ~數(shù)字表示
HEAD~0 :表示當(dāng)前版本
HEAD~1 :上一個版本
HEAD^2 :上上一個版本
HEAD^3 :上上上一個版本
以此類推...
四、git 遠程倉庫操作
注意:遠程操作需要配置ssh,查找其它資源進行ssh配置
1、[git remote] 管理遠程倉庫
git remote:列出遠程倉庫git remote -v:列出遠程倉庫并顯示urlgit remote add
2、[git fetch] 獲取遠程倉庫代碼
git fetch:獲取遠程倉庫代碼,但這并不會主動合并到本地倉庫代碼,在這之后執(zhí)行下面的命令才會合并到本地。git merge:將使用git fetch更新的代碼合并到本地。
3、[git pull] 獲取遠程倉庫代碼并直接合并到本地
git pull:這條命令相當(dāng)于執(zhí)行g(shù)it fetch 后緊接著執(zhí)行 git merge,有時候需要將遠程代碼拉去下來與本地對比之后再決定是否合并就可以使用git fetch和git merge,但有時候無需對比直接拉去合并就直接使用git pull即可
4、[git push] 將本地倉庫推送到遠程倉庫
git push
5、[git push
git push origin --delete master:將遠程倉庫origin的master分支刪除。
五、git 打標(biāo)簽
注意:git標(biāo)簽相當(dāng)于給一個特定的commit起了一個別名,它和特定的commit是關(guān)聯(lián)的。
1、[git tag] 列出已有的標(biāo)簽
git tag:這將會列出已有的標(biāo)簽,也可以選擇加上**–list | -l**這樣的option,效果是一樣的。
2、[git tag -a
git tag -a
3、[git tag
git tag
4、[git tag -a
git tag -a
5、[git push origin
git push origin
6、[git push origin --delete
git push origin --delete
7、[git tag -d
git tag -d
六、git 分支管理
1、[git branch
git branch
2、[git checkout
git checkout
3、[git checkout -b
git checkout -b
4、[git merge
git merge
5、[git branch -d
gir branch -d
6、[git branch ] 顯示分支
git branch
-a | --all:查看遠程分支和本地分支
-r | --remote:查看遠程分支
--merged:已經(jīng)合并到當(dāng)前分支的分支
--no-merged:未合并到當(dāng)前分支的分支
7、[git ls-remote
git ls-remote
8、[git push
git push
9、[git push
git push
10、[git switch
git switch
七、git 子模塊(submodule)
1、[git submodule add
git submodule add
[submodule "DbConnector"]
path = DbConnector
url = https://github.com/chaconinc/DbConnector
branch = stable
如果想要將子模塊同步到遠程倉庫,就應(yīng)該將 .gitmodules 和 DbConnector(子模塊目錄)提交到遠程。(和普通文件的提交流程一樣)
2、[git clone --recurse-submodules
git clone --recurse-submodules
3、[ git submodule sync --recursive] 同步.gitsubmodules文件內(nèi)容
git submodule sync --recursive:如果手動修改了 .gitsubmodules 文件的內(nèi)容,那么應(yīng)該使用這條命令進行同步。然后再次初始化或者拉取子模塊代碼。
4、[git submodule] 列出包含的子模塊
git submodule:列出當(dāng)前項目包含的子模塊
5、[git submodule deinit
git submodule deinit
柚子快報邀請碼778899分享:git 常用基礎(chǔ)命令
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。