1. 程式人生 > >遠離sourcetree之路的git命令列學習

遠離sourcetree之路的git命令列學習

驚訝的發現在新美大大家都走的是命令列的geek路線~所以放棄sourcetree開始入命令列的坑,留個念想以備不時回查。

1.切換分支

git checkout [name]

引數 -b 遠端拉並直接建立切換了

2.檢視分支

本地:git branch

遠端:git branch -r

3.從遠端克隆一個倉庫

git clone [倉庫地址]

4.從遠端拉取程式碼到本地

git pull [remoteName] [localBranchName]

5.新增專案

git add

6.推送分支

git push origin [name]

7.刪除分支

git branch -d [name] 

-d選項只能刪除已經參與了合併的分支,對於未有合併的分支是無法刪除的。如果想強制刪除一個分支,可以使用-D選項

8.刪除遠端分支

git push origin --delete [name]

9.檢視狀態

git status

10.合併某分支到當前分支

git merge [name]

11.撤銷做出的修改

git如何刪除本地所有未提交的更改,包括修改的、新增的、刪除的,還有一些編譯生成的臨時檔案。就是回到上一版本的乾淨狀態。我查了下有兩個相關的命令:
        git clean -df
        git reset --hard
有些需要注意的問題是第一個命令只刪除所有untracked的檔案,如果檔案已經被tracked, 修改過的檔案不會被回退。而第二個命令只把tracked的檔案revert到前一個版本,對於untracked的檔案(比如編譯的臨時檔案)都不會被刪除。如果需要一步到位的話可以嘗試把兩個命令配合起來使用。git reset --hard 之後再 git clean -xdf 

12.暫存

git stash能夠讓你儲存當前的工作目錄,相當於為你當前分支拍一個快照。儲存快照的意義在於你不commit也能保留你做出的修改,之後你就可以切換到不同的分支上去。在其他分支上或者回到你stash過的分支上都可以把你拍過快照的修改應用在其之上,感覺十分方便。舉個例子我遇到的使用場景就是,我在一個seo分支上一不小心寫了一些快遞功能的程式碼,而這些程式碼應該在delivery分支上才對。於是乎,我stash了seo分支,切回到master分支(為了進一步在delivery分支上開發),新建delivery分支,這時候delivery分支和master分支一模一樣,這時候把之前的暫存應用在delivery分支上,這樣我寫的關於快遞功能的程式碼就漂亮的轉移到了delivery分支。這時候回到seo分支,把關於快遞的修改撤銷掉,再把快照刪掉,乾乾淨淨!

git stash 暫存當前工作目錄

git stash list 檢視你所有的暫存

暫存恢復

一是用git stash apply [email protected]{0} 恢復,但是恢復後,stash內容並不刪除,你需要用git stash drop來刪除;

另一種方式是用git stash pop,恢復的同時把stash內容也刪了

相關推薦

遠離sourcetreegit命令學習

驚訝的發現在新美大大家都走的是命令列的geek路線~所以放棄sourcetree開始入命令列的坑,留個念想以備不時回查。 1.切換分支 git checkout [name] 引數 -b 遠端拉並直接建立切換了 2.檢視分支 本地:git branch 遠端

服務計算學習-CLI 命令實用程式開發基礎

CLI 命令列實用程式開發基礎 文章目錄 CLI 命令列實用程式開發基礎 概述 開發實踐 selpg程式邏輯 引數處理 程式實現 總結 概述 CLI(Co

git命令學習

git知識學習網址  克隆倉庫到本地:git clone   檢視狀態:git status    給檔案新增跟蹤:git add fileName / .        &nb

Linux命令學習(一)

全為自己總結歸納所得,有不對的地方敬請指出。 首先,我們先來總結一下一些較為實用的命令列快捷鍵 Ctrl+L :清理終端,可以將終端清空 Ctrl+C:中斷當前命令 Shift+PgUp : 向上翻頁,可以檢視以前在命令列中顯示的內容 Shift+PgDn : 向

Linux命令學習(七)——定時執行

對於一些命令我們並不是想讓其馬上執行,而是等待一定時間或者到某個時間再執行,我們需要怎麼做? at命令:延時執行一個程式(通過:apt-get install at 進行安裝) 命令使用方法: 1、輸入:at 【時間】   這個時間可以是具體的時間,例如:at  15:

Linux命令學習(六)——重定向和管道

今天我們來總結一下個人認為linux下最為實用和厲害的重定向和管道 在說今天的重點之前,必須要先學一點其他的新知識:標準輸入(stdin)、標準輸出(stdout)、標準錯誤輸出(stderr) 標準輸入(stdin):程式碼為0,使用<或<<   輸入

Python學習:隊及生產者消費者模型

open imp read 之路 while args put bsp tar 隊列: 先進先出 後進先出 VIP(優先級) import queue # q = queue.LifoQueue()#後進先出 # # q.put(1) # q.put(2) # q.p

2018年10月31日Java學習常用的命令操作

1.常用的命令列操作 win+r調出並輸入cmd. 進入D盤:D:回車進入D盤:D:回車 D盤下的目錄DIR回車 建立目錄md 2018年10月31日 那麼建立了一個2018年10月31日的目錄(目前還在d盤目錄) 進入2018年10月31日的目錄 cd

Spring系列學習Spring Shell命令

英文原文:https://projects.spring.io/spring-shell/ 目錄 介紹 特性 快速開始 示例和相關專案 Spring Shell專案提供了一個互動式shell,允許您使用基於Spring的程式設計模型插入自己的自定義命令。  

apk編譯流程學習Windows下命令打包apk

總結記錄下這兩天的主要學習成果,其中借鑑了網上很多資料,終於成功打包出測試apk檔案並執行。 準備知識挺多的(也是自己太菜了): 1.Android中apk與dex的區別 1. *.apk檔案 APK是Android Package的縮寫,即Android安裝包。通過

[Git]Git教程msysgit(命令形式)

步驟一:在GitHub新建託管專案 1-1. 要託管到github,那你就應該要有一個屬於你自己的github帳號 github官網:https://github.com/ 在位址列輸入地址:github.com 填寫使用者名稱、郵箱、密碼

Linux學習筆記Linux常用命令

Linux 學習筆記————————————————————————————————– 普通程序切換到後臺程序,可以在啟動引數的時候加一個‘&’實現這個目的; 程序切換到後臺的時候,我們把它稱為job。切換到後臺時會輸出相關job資訊。 切換到後

Git學習(二) Git命令將程式碼push到遠端新建的git倉庫

Git命令列將程式碼push到遠端新建的git倉庫 某些情況下,我們要將本地寫的程式碼推送到github、gitlab、馬雲、coding.net或自建的git伺服器。可以使用eclipse或idea或其他客戶端外掛。這裡介紹的是命令列操作的步驟。 1.首

linux學習——常用命令解釋與彙總

1.查詢目錄中內容 ls ls 【選項]】【檔案或目錄】     選項:           -a  顯示所有檔案,包括隱藏檔案          -l    顯示詳細資訊,          -d   顯示目錄自身的屬性,一般為-dl          -h   人性化顯

(15)學習tp5 自定義命令

手冊-》命令列-》自定義命令列 1、第一步,配置command.php檔案2、第二步,建立命令類檔案注意:該檔案中程式碼,從文件中粘,以防寫錯。名字啥的都不用改,就改名稱空間 和 定義命令、執行命令需要的東西3、測試-命令幫助-命令列下執行4、手動執行 剛定義的Order命令

Linux的學習grep命令

ctr ESS 開始 方式 而不是 行數 express num ons 1.作用Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局

linux運維、架構-git版本管理

nbsp font 同步 class ges 之路 blog git服務器 工作目錄 一、常見版本管理系統 1、SVN 集中式的版本控制系統,只有一個中央數據倉庫,如果中央數據倉庫掛了或者不能訪問,所有的使用者無法使用svn,無法進行提交或者備份文件 2、Gi

Python - 面向對象學習

備份數據庫 truct 打包 color -s 原因 總結 分別是 種類型 面向對象編程介紹 為什麽要用面向對象進行開發? 面向對象的特性:封裝、繼承、多態 類、方法、 面向過程 VS 面向對象 編程範式 編程是 程序 員 用特定的語法+數據結構+算法組成的代碼來告訴計算

linux命令學習

awk ~ 匹配符 在pattern部分進行欄位匹配操作。文中包含bin的很多,但要找到以:分割後,第五個匹配bin的使用者名稱,相當於用:將每行分割成陣列,索引5值匹配,則將第一個打印出來 awk -F: '$5 ~ /bin/{print $1}' /etc/passwd awk NR條件語

個人python練手專案微報命令版V1.0開源

前言 還記得不久之前,寫過一篇關於團隊管理工具的調研文章傳送門,當時調研了一大圈發現對於管理層來說最大的痛點就是沒有一個現成的工具支援word週報的匯出,傳統企業還是比較偏向紙質檔案的。再加上想練練python說動手就動手,於是就有了這個專案。 專案定位算是練練手+解決自身痛點。現