導航:首頁 > 程序命令 > git常用命令總結

git常用命令總結

發布時間:2022-12-14 23:52:48

㈠ 【學了就忘】Git操作 — 14.Git基本操作(一)

要對現有的某個項目開始使用Git管理,只需到此項目所在的根目錄,執行 git init 命令即可。

准備一個新的Git本地版本庫:

說明:初始化Git倉庫後,在當前目錄下會出現一個名為 .git 的目錄,所有Git需要的數據和資源都存放在這個目錄中。

不過目前,僅僅是按照既有的結構框架,初始化好了Git倉庫中所有的文件和目錄,但我們還沒有開始跟蹤管理項目中的任何一個文件。

使用 git status 命令進行查看。

進入本地版本庫查看工作區、暫存區中文件的狀態。

1)創建文件後查看工作區、暫存區中文件的狀態

我們在倉庫目錄中創建一個 readme.txt 文件後,在執行 git status 命令。

說明:

2)將工作區的文件添加到暫存區

執行 git add 命令,將 readme.txt 文件添加到暫存區。

3)再次查看工作區、暫存區狀態

執行 git status 命令查看工作區、暫存區狀態。

說明:

總結:

只要在 "Changes to be committed" 這行下面顯示的文件,就說明是已暫存狀態。

如果此時提交,那麼該文件此時此刻的版本,將被留存在歷史記錄中。

在 git add 命令後面可以指明要跟蹤的文件或目錄路徑。

如果是目錄的話,就說明要遞歸跟蹤該目錄下的所有文件。(其實 git add 命令的潛台詞就是把目標文件快照放入暫存區域,同時未曾跟蹤過的文件標記為已跟蹤。)

4)將文件從暫存區撤回到工作區

執行 git rm --cached 命令,將 readme.txt 文件從暫存區撤回到工作區。

並執行 git status 命令查看工作區、暫存區狀態。

可以看到結果, readme.txt 文件又成為了一個未被Git追蹤的文件。

㈡ Git工作流程和常用命令分享

git是一個分布式版本控制軟體,最初由林納斯·托瓦茲創作,於2005年以GPL發布。最初目的是為更好地管理Linux內核開發而設計。林納斯·托瓦茲在編寫第一個版本時就使用了「git」這個名稱, 他將工具描述為「愚蠢的內容跟蹤器」。

[圖片上傳失敗...(image-c23291-1619063471664)]

四個專有名詞:

Workspace:工作區

Index / Stage:暫存區

Repository:倉庫區(或本地倉庫)

Remote:遠程倉庫

打開本地生成的.git隱藏文件

創建新項目gittest

創建新文件test.txt

git add <file>

git status顯示有變更的文件

git restore <file> 撤迴文件修改內容

git commit –m 「注釋」

修改內容-> 執行git diff工作區和本地倉庫的差異

git log顯示當前分支的版本歷史

git reset --hard HEAD^ 當前版本回退到上一個版本

git reset --hard HEAD^ ^ 當前版本回退到上上一個版本

git reset --hard HEAD~100 回退到前100個版本

恢復已經刪除的版本

git reflog 展示所有的提交記錄

git reset --hard <版本號> 回退到指定版本

git push origin master 將本地master分支推送到遠程master分支,相當於創建遠程分支

git checkout -b dev = git branch dev + git checkout dev 創建並切換分支

git branch 不帶參數,會列出所有本地的分支;帶參數表示創建分支

git branch –d name 刪除本地分支(-D表示強制刪除)

git branch –r 不帶參數,會列出所有遠程的分支

git branch --set-upstream-to=origin/<branch本地> 本地和遠程分支關聯

git push origin –delete <branch> 刪除遠程分支

git merge release用於合並指定分支到當前分支上

註:Fast-forward表示的合並是「快進模式」,也就是直接把master指向dev的當前提交,所以合並速度非常快。在這種模式下,刪除分支後,會丟掉分支日誌信息。可以使用帶參數 --no-ff來禁用」Fast forward」模式。

git merge --no-ff -m 「注釋」dev

git checkout release 切換release分支

vim test.txt 修改某條內容

git commit test.txt -m 「release修改某條內容」

git checkout master 切換master分支

vim test.txt 修改某條同release內容

git commit test.txt -m 「master修改某條內容」

git merge release 顯示沖突

git status 顯示沖突提示

Git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,其中>>>>release 是指release上修改的內容
vim test.txt 修改內容

git add test.txt

git commit -a -m 「fix conflict」

當前分支有沒有提交但也不合適現在就提交的內容,Git提供了暫儲功能stash

git checkout release

vim test.txt 修改test.txt內容

git checkout develop 此時會提示Aborting

git status 查看當前狀態

Git stash list 查看所有暫儲列表

git stash apply恢復,恢復後stash內容並不刪除,你需要使用命令git stash drop來刪除;
另一種方式是使用git stash pop,恢復的同時把stash內容也刪除了

創建Git Tag並推送遠程伺服器

git tag -a V1.0.0 –m「注釋」 //創建TAG

git push origin V1.0.0 //推送到遠程伺服器

git push origin --tag //提交所有tag至伺服器

git tag -d V1.0.0 //刪除本地標簽

git push origin --delete tag <tagname> //刪除遠程標簽

HEAD,它始終指向當前所處分支的最新的提交點。你所處的分支變化了,或者產生了新的提交點,HEAD就會跟著改變

add相關命令很簡單,主要實現將工作區修改的內容提交到暫存區,交由git管理。

git add .添加當前目錄的所有文件到暫存區

git add 添加指定目錄到暫存區,包括子目錄

git add 添加指定文件到暫存區

commit相關命令也很簡單,主要實現將暫存區的內容提交到本地倉庫,並使得當前分支的HEAD向後移動一個提交點。

git commit -m 提交暫存區到本地倉庫,message代表說明信息

git commit --amend -m 使用一次新的commit,替代上一次提交

上傳本地倉庫分支到遠程倉庫分支,實現同步。

git push 上傳本地指定分支到遠程倉庫

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

git push --all推送所有分支到遠程倉庫

關於分支,大概有展示分支,切換分支,創建分支,刪除分支這四種操作。

git branch列出所有本地分支

git branch -r列出所有遠程分支

git branch -a列出所有本地分支和遠程分支

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

git checkout -b 新建一個分支,並切換到該分支

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

git branch -d 刪除分支

git push origin --delete 刪除遠程分支

關於分支的操作雖然比較多,但都比較簡單好記

merge命令把不同的分支合並起來。在實際開放中,我們可能從master分支中切出一個分支,然後進行開發完成需求,中間經過R3,R4,R5的commit記錄,最後開發完成需要合入master中,這便用到了merge。

git merge 合並指定分支到當前分支

註:如果在merge之後,出現conflict,主要是因為兩個用戶修改了同一文件的同一塊區域。需要針對沖突情況,手動解除沖突。

rebase又稱為衍合,是合並的另外一種選擇。

在開始階段,我們處於new分支上,執行git rebase dev,那麼new分支上新的commit都在dev分支上重演一遍,最後checkout切換回到new分支。這一點與merge是一樣的,合並前後所處的分支並沒有改變。

git rebase dev,通俗的解釋就是new分支想站在dev的肩膀上繼續下去。

rebase操作不會生成新的節點,是將兩個分支融合成一個線性的提交。

rebase也需要手動解決沖突。

1.如果你想要一個干凈的,沒有merge commit的線性歷史樹,那麼你應該選擇git rebase

2.如果你想保留完整的歷史記錄,並且想要避免重寫commit history的風險,你應該選擇使用git merge

reset命令把當前分支指向另一個位置,並且相應的變動工作區和暫存區。

git reset —soft 只改變提交點,暫存區和工作目錄的內容都不改變

git reset —mixed 改變提交點,同時改變暫存區的內容

git reset —hard 暫存區、工作區的內容都會被修改到與提交點完全一致的狀態

git revert用一個新提交來消除一個歷史提交所做的任何修改。

在回滾這一操作上看,效果差不多。git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。

在 Git工作區的根目錄創建一個特殊的.gitignore文件。

在.gitignore文件中,添加需要忽略的文件。

git rm -r --cached . //將倉庫中的index遞歸刪除

git add . //重新添加倉庫索引

git commit -m 「update git.ignore」 //提交

git branch --set-upstream-to=origin/<branch> <branch> //重現將本地倉庫和遠程倉庫關聯

最後,如果此篇博文對你有所幫助,別忘了點個贊喲~

㈢ Git基本操作

安裝完 Git 軟體後,需要我們做一下全局的配置工作,如:用戶名、郵箱等。

命令:git config

設置用戶名命令:

設置郵箱命令:

其中, --global 指定為全局配置,不指定該參數,則為當前所在倉庫配置。

查看配置:

在本地創建版本庫,需要使用 git init 命令。

首先,我們需要新建一個存放版本庫的文件夾,然後進入到該目錄所在路徑,執行如下命令,格式為:

最後查看文件夾,可以看到包含有 .git 子文件夾,說明創建版本庫成功了。

也可以在執行 git init 命令時指定一個文件夾作為版本庫。格式為:

克隆版本庫是指從現有 Git 版本庫中拷貝項目。

克隆版本庫使用如下命令,格式為:

如果我們需要克隆到指定的目錄,可以使用以下命令格式:

如:克隆遠程倉庫

添加一個或多個文件到暫存區:

添加指定目錄到暫存區,包括子目錄:

添加當前目錄下的所有文件到暫存區:

查看在我們上次提交之後是否有對文件進行再次修改。 格式為:

-s參數可以幫助我們獲得比較簡短的顯示結果。

如:我們在一個版本庫中所在目錄中增加一個 Unit1.pas 文件,然後執行如下命令:

顯示暫存區和工作區的差異:

顯示暫存區和上一次提交(commit)的差異:

顯示兩次提交之間的差異:

將暫存區內容添加到本地倉庫中。

提交暫存區到本地版本庫中:

message 可以用於描述提交的信息。

提交暫存區的指定文件到版本庫區:

修改後直接提交:

-a參數設置修改文件後不需要執行 git add 命令,直接來提交。

如:我們在上面的命令基礎上進行提交

接下來,我們對 Unit1.pas 文件進行修改,然後進行文件比較:

git reset 命令用於回退版本,可以指定退回某一次提交的版本。

git reset 命令語法格式如下:

可以使用 數字表示

git rm 命令用於刪除文件。

如果只是簡單地從工作目錄中手工刪除文件,運行 git status 時就會在 Changes not staged for commit 的提示。所以,在 git 環境下一定要使用 git 的刪除文件操作。

git rm 刪除文件有以下幾種形式:

將文件從暫存區和工作區中刪除:

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

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

可以遞歸刪除,即如果後面跟的是一個目錄做為參數,則會遞歸刪除整個目錄中的所有子目錄和文件:

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

如果新文件名已經存在,但還是要重命名它,可以使用 -f 參數:



㈣ git常用命令是什麼

1、在當前目錄新建一個Git代碼庫,:$ git init

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

3、下載一個項目和它的整個代碼歷史,:$ git clone [url]

4、顯示當前的Git配置,:$ git config --list

5、編輯Git配置文件,:$ git config -e [--global]

6、設置提交代碼時的用戶信息,:$ git config [--global] user.name "[name]",:$ git config [--global] user.email "[email address]"

7、添加指定文件到暫存區,:$ git add [file1] [file2] ...

8、添加指定目錄到暫存區,包括子目錄,:$ git add [dir]

9、添加當前目錄的所有文件到暫存區,:$ git add .

10、對於同一個文件的多處變化,可以實現分次提交,:$ git add -p

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

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

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

14、提交暫存區到倉庫區,:$ git commit -m [message]

15、提交暫存區的指定文件到倉庫區,:$ git commit [file1] [file2] ... -m [message]

16、提交工作區自上次commit之後的變化,直接到倉庫區,:$ git commit -a

17、提交時顯示所有diff信息,:$ git commit -v

18、使用一次新的commit,替代上一次提交

19、 如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息,:$ git commit --amend -m [message]

20、重做上一次commit,並包括指定文件的新變化,:$ git commit --amend [file1] [file2]

(4)git常用命令總結擴展閱讀:

git有以下功能:

1、從伺服器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。

2、在自己的機器上根據不同的開發目的,創建分支,修改代碼。

3、在單機上自己創建的分支上提交代碼。

4、在單機上合並分支。

5、把伺服器上最新版的代碼fetch下來,然後跟自己的主分支合並。

6、生成補丁(patch),把補丁發送給主開發者。

7、看主開發者的反饋,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然後再由其中一個人提交。如果主開發者可以自己解決,或者沒有沖突,就通過。

8、一般開發者之間解決沖突的方法,開發者之間可以使用pull 命令解決沖突,解決完沖突之後再向主開發者提交補丁。

㈤ git基本命令ls、cat、mv、touch簡述

1. 命令含義:List directory contents,用來顯示目錄或具體文件列表。
2. 主要用法示例:

1. 命令含義:Print and concatenate files,列印、合並文件。
2. 主要用法示例:

1. 命令含義:Move or rename files and directories,移動或重命名文件和目錄。
2. 主要用法示例:

1. 命令含義:用於修改文件或者目錄的時間屬性,包括存取時間和更改時間。若文件不存在,系統會建立一個新的空白文件。
2. 主要用法示例:

該網站幾乎能夠查詢所有Linux命令的含義,其界面如下圖:

㈥ git常用操作

如果不用"pick"或者"edit",而是指定"squash",Git 會同時應用那個變更和它之前的變更並將提交說明歸並。因此,如果想將這三個提交合並為單一提交, 可以將腳本修改成這樣

保存並退出編輯器,Git 會應用全部三次變更然後將送回編輯器來歸並三次提交說明。

然後保存,就會擁有包含前三次提交的全部變更的單一提交 。

註:最頂行pick 不能修改為squash

當你正在進行項目中某一部分的工作,裡面的東西處於一個比較雜亂的狀態,而你想轉到其他分支上進行一些工作。問題是,你不想提交進行了一半的工作,否則以後你無法回到這個工作點。解決這個問題的辦法就是 git stash 命令。

「『儲藏」「可以獲取工作目錄的中間狀態——也就是修改過的被追蹤的文件和暫存的變更——並將它保存到一個未完結變更的堆棧中,隨時可以重新應用。

當追准備切換分支,但是還不想提交你正在進行中的工作;所以儲藏這些變更。為了往堆棧推送一個新的儲藏,只要運行? git stash :

這時,你可以方便地切換到其他分支工作;你的變更都保存在棧上。要查看現有的儲藏,你可以使用? git stash list :

git stash apply :重新應用你剛剛實施的儲藏

git stash apply stash@{number} :應用更早的儲藏

只需回到需要合並的源分支,運行 git merge 命令指定要合並進來的分支即可;Git 作了合並,但沒有提交,它會停下來等你解決沖突。要看看哪些文件在合並時發生沖突,可以用 git status 觀察

任何包含未解決沖突的文件都會以未合並(unmerged)的狀態列出。Git 會在有沖突的文件里加入標準的沖突解決標記,可以通過它們來手工定位並解決這些沖突。可以看到此文件包含類似下面這樣的部分:

可以看到 ======= 隔開的上半部分,是? HEAD (即 master 分支,在運行 merge 命令時所切換到的分支)中的內容,下半部分是在 iss53 分支中的內容。解決沖突的辦法無非是二者選其一或者親自整合到一起。比如可以通過把這段內容替換為下面這樣來解決:

在解決了所有文件里的所有沖突後,運行? git add ?將把它們標記為已解決狀態(譯註:實際上就是來一次快照保存到暫存區域。)

pull時為了防止更改後pull Feiled的出現,先執行commit,stash or revert。

㈦ Git常用命令--(ls,cat,mv,touch)

描述:列出有關文件的信息(默認為當前目錄)。如果沒有指定-cftuvSUX或——Sort,則按字母順序排序。

-a 列出所有文件,包括隱藏文件和以「.」開頭的文件;
-d 列出目錄本身;
-l 列出條目的詳細信息;
-r 以反序排列;
-t 按時間排列;
-h 顯示的文件大小按人類可讀的方式;
-R 遞歸處理子目錄 ;
-X 以文件名的後綴排序;
-S 按文件大小排序

ls
列出當前目錄下的所有文件,這個用的最多。
ls -al
列出所有文件(包括隱藏文件和以「.」開頭的文件),及其詳細信息;
ls - lt
列出所有文件詳細信息,並按時間排序,時間最近的靠前。

描述:連接和查看文本文件

-n 從1開始對所有輸出行進行編號;
-b 和n相似,但是空行不編號;
-s 遇到連續空行時合並為一行;

cat file1
列印文件內容
cat file1 file2 > file3
合並文件1和2的內容輸出到文件3,如果文件3存在則覆蓋
cat -n file1 >> file2
把文件1的內容按行編號後追加到文件2

描述:用來移動文件或者重命名

-b 若需覆蓋文件,則覆蓋前先備份;
-f 如果目標文件存在,強制覆蓋;
-i 若目標文件存在,詢問是否覆蓋;
-t 移動多個源文件到一個目錄,使用中目標目錄寫在前,源文件在後

mv aa.txt bb.txt
將文件aa.txt改名為bb.txt;
mv aa.txt demo
將文件aa.txt移動到目錄demo中;
mv aa.txt bb.txt dir1; mv -t ~/Desktop/demo-1/dir2 aa.txt bb.txt
先將文件aa.txt和bb.txt移動到目錄dir1,然後再將文件aa.txt和bb.txt移動到目錄dir2中;
mv dir1 dir2
如果目錄dir2不存在,將目錄dir1改名為dir2;如果dir2存在,將dir1移動到dir2

描述:用來新建一個文件,或者修改已存在文件的時間戳

-a 只更改存取時間;
-c 不建立任何文檔;
-d 使用指定的日期時間;

touch aa.txt bb.txt
創建文件aa.txt和bb.txt
touch -c cc.txt
如果cc.txt不存在就不更改時間戳也不建立cc.txt
touch -r bb.txt
更新bb.txt的時間戳

Git命令和參數都很多,需要慢慢學。可以使用Git的 --help命令查看詳細用法,如輸入cat --help,查看cat命令的參數及使用方法。也可以使用網站explainshell.com,輸入各種組合參數的命令來查詢,每一個參數都會有解釋。

㈧ 常用 Git 命令匯總

下面是我整理的常用 Git 命令清單。幾個專用名詞的譯名如下:

Workspace:工作區
Index / Stage:暫存區
Repository:倉庫區(或本地倉庫)
Remote:遠程倉庫

導航目錄:
1、新建
2、配置
3、幫助
4、狀態
5、信息
6、添加
7、刪除
8、分支
9、檢出
10、遠程同步
11、撤銷
12、commit
13、diff
14、grep
15、log
16、merge
17、mv
18、tag
19、pull
20、ci
21、rebase (謹慎使用)
22、reset (謹慎使用)
23、其他

㈨ git的常用的幾個命令

1.安裝Git

閱讀全文

與git常用命令總結相關的資料

熱點內容
前後端系統數據加密解密 瀏覽:194
中國移動營業app怎麼看套餐 瀏覽:205
javastatic數組 瀏覽:950
需要會員管理源碼 瀏覽:415
手機app如何解除加密 瀏覽:167
用雲伺服器還得買個瘦主機 瀏覽:728
如何查看辦公電腦伺服器地址 瀏覽:368
海星雲的伺服器是什麼系統 瀏覽:411
抖音小籠包解壓神器 瀏覽:558
手機下載的源碼在哪裡儲存 瀏覽:846
pdf看三維 瀏覽:406
九宮演算法干什麼用的 瀏覽:907
phpjava性能比較 瀏覽:886
2016會計中級pdf 瀏覽:181
農村信用社app怎麼刪除明細 瀏覽:817
學而思電腦怎麼下載app 瀏覽:107
php防止mysql注入 瀏覽:233
磁力計校正演算法 瀏覽:491
解壓縮後變小了 瀏覽:958
智友文件夾 瀏覽:81