Git命令速覽 git筆記

2021-06-23 06:51:18 字數 3789 閱讀 7657

版本控制系統(

vcs)

在 git 中的絕大多數操作都只需要訪問本地檔案和資源,不用連網。但如果用 cvcs 的話,差不多所有操作都需要連線網路。因為 git 在本地磁碟上就儲存著所有當前專案的歷史更新,所以處理起來速度飛快。

對於任何乙個檔案,在 git 內都只有三種狀態:已提交(committed)已修改(modified)已暫存(staged)。已提交表示該檔案已經被安全地儲存在本地資料庫中了;已修改表示修改了某個檔案,但還沒有提交儲存;已暫存表示把已修改的檔案放在下次提交時要儲存的清單中。

在工作目錄中修改某些檔案。

對修改後的檔案進行快照,然後儲存到暫存區域。

提交更新,將儲存在暫存區域的檔案快照永久轉儲到 git 目錄中。

請記住,工作目錄下面的所有檔案都不外乎這兩種狀態:已跟蹤或未跟蹤。已跟蹤的檔案是指本來就被納入版本控制管理的檔案,在上次快照中有它們的記錄,工作一段時間後,它們的狀態可能是未更新,已修改或者已放入暫存區。而所有其他檔案都屬於未跟蹤檔案。它們既沒有上次更新時的快照,也不在當前的暫存區域。初次轉殖某個倉庫時,工作目錄中的所有檔案都屬於已跟蹤檔案,且狀態為未修改。

$ git add readme跟蹤新檔案,提交修改的檔案到暫存區        // 實際上 git 只不過暫存了你執行 git add 命令時的版本,如果現在提交,那麼提交的是新增注釋前的版本,而非當前工作目錄中的版本。
$ git reset head ...的方式取消暫存。

$git checkout -- benchmarks.rb取消對檔案的修改

$ git status檢視檔案狀態

$git diff顯示還沒有暫存起來的改動,而不是這次工作和上次提交之間的差異。所以有時候你一下子暫存了所有更新過的檔案後,執行 git diff 後卻什麼也沒有,就是這個原因。

$git diff --cached命令,看已經暫存起來的檔案和上次提交時的快照之間的差異。

$git commit$ git commit -m "story 182: fix benchmarks for speed",暫存區域已經準備妥當可以提交了。在此之前,請一定要確認還有什麼修改過的或新建的檔案還沒有 git add 過,否則提交的時候不會記錄這些還沒暫存起來的變化。所以,每次準備提交前,先用 git status 看下,是不是都已暫存起來了,然後再執行提交命令

$ git commit -a -m 'added new benchmarks',跳過暫存區直接提交

$git rm刪除檔案。如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f(譯註:即 force 的首字母),以防誤刪除檔案後丟失修改的內容。另外一種情況是,我們想把檔案從 git 倉庫中刪除(亦即從暫存區域移除),但仍然希望保留在當前工作目錄中。換句話說,僅是從跟蹤清單中刪除。比如一些大型日誌檔案或者一堆 .a 編譯檔案,不小心納入倉庫後,要移除跟蹤但不刪除檔案,以便稍後在 .gitignore 檔案中補上,用 --cached 選項即可:

$ git rm --cached readme.txt,說明見上一條

$ git mv file_from file_to移動檔案

$git log顯示提交記錄。 常用 -p 選項展開顯示每次提交的內容差異,用 -2 則僅顯示最近的兩次更新;--stat,僅顯示簡要的增改行數統計

$ git commit –amend,修改最後一次提交。想要撤消剛才的提交操作,可以使用 --amend 選項重新提交

遠端倉庫:

$git remote要檢視當前配置有哪些遠端倉庫,可以用 git remote 命令也可以加上 -v 選項(譯註:此為 --verbose 的簡寫,取首字母),顯示對應的轉殖位址

$ git remote add [shortname] [url]要新增乙個新的遠端倉庫,可以指定乙個簡單的名字,以便將來引用

$ git fetch [remote-name]此命令會到遠端倉庫中拉取所有你本地倉庫中還沒有的資料。執行完成後,你就可以在本地訪問該遠端倉庫中的所有分支,將其中某個分支合併到本地,或者只是取出某個分支,一**竟。

$git push [remote-name] [branch-name]可以將本地倉庫中的資料推送到遠端倉庫。只有在所轉殖的伺服器上有寫許可權,或者同一時刻沒有其他人在推資料,這條命令才會如期完成任務。如果在你推資料前,已經有其他人推送了若干更新,那你的推送操作就會被駁回。你必須先把他們的更新抓取到本地,合併到自己的專案中,然後才可以再次推送。

$git remote show [remote-name]檢視某個遠端倉庫的詳細資訊

$git remote rename命令修改某個遠端倉庫在本地的簡稱

$git remote rm刪除遠端倉庫

git分支:

git 中的分支,其實本質上僅僅是個指向commit 物件的可變指標。

$ git branch branchname新建乙個  分支,可以使用 git branch 命令:

$ git checkout testing要切換到其他分支,可以執行 git checkout 命令。我們現在轉換到新建的 testing 分支.

$ git checkout -b iss53新建並切換到該分支,執行 git checkout 並加上 -b 引數

$git merge有必要作些測試,確保修補是成功的,然後回到 master 分支並把它合併進來,然後發布到生產伺服器。用 git merge 命令來進行合併:

$ git checkout master

$ git mergehotfix

//任何包含未解決衝突的檔案都會以未合併(unmerged)的狀態列出

$ git branch -d hotfix刪除分支

$ git fetch origin同步遠端伺服器上的資料到本地。

$git push (遠端倉庫名) (分支名)建立遠端分支

$git push [遠端名] :[分支名]刪除遠端分支

$git push [遠端名] [本地分支]:[遠端分支]提取本地分支然後把它變成遠端分支

git push [遠端名] [本地分支]:[遠端分支] 語法,如果省略 [本地分支],那就等於是在說「在這裡提取空白然後把它變成[遠端分支]」。

詳細內容請閱讀git文件:pro git(中文版)

Git命令一覽

windows 新增檔案到git倉庫 在版本的歷史之間穿梭 重返未來 改亂了工作區某檔案,還新增到了暫存區時,想丟棄修改 已經提交了不合適的修改到版本庫時,想要撤銷本次提交 刪除暫存區檔案 提交刪除 首次 推送 常規推送 刪除已有的github遠端庫 關聯碼雲的遠端庫 建立分支 切換分支 建立 切換...

Git命令一覽

當我們將當前分支 如master reset到之前的提交,並且我們git push f 能將本地的分支 master 推到遠端倉庫去的時候,如果我們在另一台機器上面再git pull的時候會提示以下錯誤 your branch and origin mastert h e diverged,and ...

caffe 速覽筆記

blob與tensorflow中的tensor類似,都是用來在節點之間傳遞資料所用,介面也類似,常規的dimension是 資料量n x 通道k x 高度h x 寬度w blob內部存有data和diff兩大塊。前者是傳遞的資料,後者是計算的梯度。由於blob同時存在cpu和gpu,所以有兩種方式來...