国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

git commit -m 與 git commit -am 的差別
為情所困
為情所困 2017-05-02 09:36:32
0
3
1208

麻煩解答下 git commit -m 與 git commit -am 的差別

為情所困
為情所困

全部回覆(3)
迷茫

當(dāng)修改已經(jīng)通過git add <change file>將其添加到stage,可以通過git commit -m "<message>"為這所有已經(jīng)進(jìn)入stage的改變添加一個commit信息。什么是在stage中?看下面

如果你的文件之前已經(jīng)提交過,但這次的改動還沒進(jìn)stage,如下:

可以直接使用git commit -am "",將所有修改,但未進(jìn)git commit -am "<message>",將所有修改,但未進(jìn)stage的改動加入stage,并記錄commit信息。(某種程度上相當(dāng)于git addgit commit -m的組合技,前提是被改動文件已經(jīng)是tracked的改動加入

,並記錄commit資訊。 (某種程度上相當(dāng)於git addgit commit -m的組合技,前提是被改動檔案已經(jīng)是tracked)??
給我你的懷抱
git commit -am "str"
#等同于
git commit -a -m "str"

我們運行下

man git commit 

來取得a參數(shù)的意義即知區(qū)別了。

OPTIONS
-a, --all
Tell the command to automatically stage files that have been modified and >deleted, but new files you have not told Git about are not affected.

意思是說

自動把目前所有修改和刪除檔案放到堆疊上,但你沒有加入過的不會受影響。

拓展

通常我們提交git的時候都是

git add .
git commit -m "some str"
git push

這三大步,而實際上,你只需要兩個指令就夠了,除非有新的檔案要被加進(jìn)去。

git commit -am "some str"
git push
伊謝爾倫

字面解釋的話,git commit -m用於提交暫存區(qū)的文件;git commit -am用於提交跟蹤過的文件

要理解它們的區(qū)別,首先要明白git的檔案狀態(tài)變化週期,如下圖所示

工作目錄下面的所有文件都不外乎這兩種狀態(tài):已追蹤或未追蹤。已追蹤的文件是指本來就被納入版本控制管理的文件,在上次快照中有它們的記錄,工作一段時間後,它們的狀態(tài)可能是未更新,已修改或已放入暫存區(qū)

下面以一個實例說明

在專案資料夾中新增一個檔案如'a.txt'時,該檔案處於untracked未追蹤狀態(tài)。未追蹤狀態(tài)的文件是無法提交的

接下來,使用git add a.txt,使其變成已追蹤狀態(tài)

這時,如果使用git commit -m 'add a.txt'就可以順利提交了

但是,git commit -m 和 git commit -am的差別在哪裡?在於a.txt檔案修改之後的處理

下面,在a.txt中加入內(nèi)容'a'

文件a.txt處於已跟蹤,但未暫存狀態(tài)。這時,如果使用git commit -m是無法提交最新版本的a.txt的,提交的只是最開始空內(nèi)容的舊版本a.txt

要提交新版本a.txt,即內(nèi)容為'a'的a.txt,則需要使用git add a.txt,將新版本的a.txt放到staged暫存區(qū),然後才能使用git commit -m進(jìn)行提交

而如果使用git commit -am,則可以省略git add a.txt這一步,因為git commit -am可以提交跟蹤過的文件,而a.txt一開始已經(jīng)被跟蹤過了

總結(jié),使用這兩個指令區(qū)別的關(guān)鍵就是git add指令

git add指令是個多功能指令,根據(jù)目標(biāo)文件的狀態(tài)不同,此指令的效果也不同:可以用它開始追蹤新文件,或把已追蹤的文件放到暫存區(qū),還能用於合併時把有衝突的檔案標(biāo)記為已解決狀態(tài)等

我們需要用git add指令來追蹤新文件,但如果使用git commit -am可以省略使用git add指令將已追蹤文件放到暫存區(qū)的功能

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板