在使用指令列版控的過程中,經常有機會用到 Git Shell 這套優異的 Git 版控環境,一來他使用 Windows PowerShell 為核心,其訊息顯示與輸入都支援 Unicode,比較不會有中文字集轉換的問題;二來輸入命令或分支名稱的時候還有 IntelliSense 功能協助,非常貼心的設計;三來在版控的過程中,可以看出當下工作目錄位於哪個分支上,這個提示也很棒;四來常會看到他透過顏色與一些特殊符號提示你目前工作目錄的狀態,但不特別看文件還真的不太容易知道它顏色代表的意義,因此特別撰文解說。

不同的分支顏色所代表的意義

  • 青色 (Cyan),代表本地儲存庫遠端儲存庫是同步狀態! 
  • 紅色 (Red),代表目前本地儲存庫的版本比遠端儲存庫還落後 (behind),意思是遠端儲存庫擁有目前本地儲存庫沒有的版本,需要透過 git pull 把遠端儲存庫的變更抓回來更新本地儲存庫! 
    如下圖示,代表目前遠端儲存庫上有 1 個版本 (commit) 需要同步回來: 
  • 黃色 (Yellow),代表目前本地儲存庫有些版本比遠端儲存庫落後 (behind),同時間也有些版本比遠端儲存庫還超前 (ahead),意思是說,目前遠端儲存庫擁有目前本地儲存庫沒有的版本,而且本地儲存庫也擁有遠端儲存庫沒有的版本,代表你需要先做 git pull 把遠端儲存庫的變更抓回來更新本地儲存庫,也需要透過 git push 把本地儲存庫的版本變更推送上去。注意:由於遠端本地都有版本變更,這代表透過 git pull 抓取變更回來時,勢必要面對「合併」的議題,也就是可能會遇見「合併衝突」的狀況。 
  • 綠色 (Green),代表目前本地儲存庫有些版本比遠端儲存庫超前 (aheads),意思是說本地儲存庫擁有遠端儲存庫沒有的版本,你需要透過 git push 把本地變更推送到遠端儲存庫。 
    如下圖示,當我們先用 git pull 把遠端儲存庫的變更抓回來合併或更新之後,顏色馬上變成「綠色」了,也就是這個時候執行 git push 是最安全的(不會有衝突事件發生),你可以這樣思考:【當看到綠燈的時候,就是可以推送版本上去的時刻!】 
     

    如下圖,你可以發現,只要我把本地儲存庫的變更推送上去後,顏色就立刻變回青色 (Cyan)了! 

工作目錄檔案狀態符號與顏色所代表的意義

在 Git Shell 執行環境中,經常出現的一些有顏色的數字提示,其數字前的符號所代表的意義如下:

  • + = 有 n 個新增檔案
  • ~ = 有 n 個檔案被更新
  • - = 有 n 個檔案被刪除
  • ! = 有 n 個檔案在合併的時候發生衝突

其顏色所代表的意義如下:

  • 暗紅色 (Dark Red),代表這些檔案處於 Untracked 或 Not Staged 狀態 (不會被 commit 的檔案)
  • 暗綠色 (Dark Green),代表這些檔案處於 Staged 狀態 (會被 commit 的檔案數

以下圖示各位可以看圖說故事一番:

相關連結

GitHub for Windows 內建 Git Shell 執行時顏色所代表的意義的更多相关文章

  1. 使用github的使用,利用git shell命令行模式进行操作

    一.登录到git,新建一个版本仓库 二.在"Repository name"一栏里填写版本仓库的名称,如"test",Description栏是描述,可填可不填 ...

  2. github的使用,利用git shell命令行创建仓库并上传

    一.登录到github,新建一个版本仓库 二.在“Repository name”一栏里填写版本仓库的名称,如”test”,Description栏是描述,可填可不填. 默认访问权限为公共,点击”Cr ...

  3. 【转】Visual Studio單元測試小應用-測執行時間

    [转]Visual Studio單元測試小應用-測執行時間 Visual Studio的單元測試會記錄每一個測試的執行時間,如果有幾個Method要測效能,以前我會用Stopwatch,最近我都改用單 ...

  4. windows下使用Git Bash命令行克隆远程仓库代码

    此处使用的代码托管平台是GitLab,相比GitHub来说,它可以设置免费的私有仓库,哈哈,妈妈再也不用担心我的源码泄露了!1.切换到本地的工作目录,我的目录是: cd /d/coder/websit ...

  5. 使用pl/sql監控PROCEDURE執行時間

    創建表 CREATE TABLE PROCESS_TIMING_LOG (   PROCESS_NAME       VARCHAR2(50 BYTE),   EXECUTION_DATE     D ...

  6. github for window 中 git shell 设置代理方法和解决ssl证书错误的问题

    体验了一下传说中的 github for windows(操作git有很多的方法,我还没有学会,所以找了个简单的方法),听说用起来还不错,毕竟也开始接触了github.下载地址是 http://win ...

  7. Git Shell使用笔记

    1,首次打开Git shell错误(以前打开过gethub客户端) 警告: git command could not be found. Please create an alias or add ...

  8. git入门学习(一):github for windows上传本地项目到github

    Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在g ...

  9. Github客户端以及Git shell的使用

    昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢.所以,今天就来介绍一下,怎么来做版本控制吧. 必备材料 首先要确 ...

随机推荐

  1. [Sass]扩展/继承

    [Sass]扩展/继承 继承对于了解 CSS 的同学来说一点都不陌生,先来看一张图: 图中代码显示".col-sub .block li,.col-extra .block li" ...

  2. iOS10 远程推送服务器所需证书以及应用授权文件配置

    推送证书制作步骤(目的:导出服务器需要的p12证书) 第一步: 打开Mac系统的"钥匙串访问"-"证书助理"-"从证书颁发机构请求证书" 取 ...

  3. 【http】四种常见的 POST 提交数据方式

    来源:http://www.cnblogs.com/aaronjs/p/4165049.html HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT ...

  4. Web应用性能优化思路

    瓶颈是什么? 一条4车道的公路,运行非常顺畅,突然出了点事故,事故车导致某个地方只剩下1车道,然后就开始堵车,因为四辆车同时塞向一个车道里.把这个事故清除了,故障车拖走了,道路会开始恢复了通畅. 这个 ...

  5. 多个html怎么导入相同的头部导航

    1. iframe 包含法.页头和页尾分别做成一个页面,然后通过iframe嵌入到调用的页面.这种方法在页头页尾高度固定的时候比较适用,因为当页头页尾高度不固定时,需要iframe根据页面内容自适应高 ...

  6. 手机端页面自适应解决方案-rem布局

    rem布局 布局前插入原生js即可 (function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationch ...

  7. Mysql 迁移最完整可用的教程

    此教程来源stackoverflow,仅供我自己需要时查看,其他人不可以瞎看! ## Stop MySQL using the following command: `sudo /etc/init.d ...

  8. JS string 截取

    subStubstring(a,b); a:开始索引 b:结束索引 subStr(c,d) c:开始索引 d:截取数量.

  9. js判断当前页面在移动设备还是在PC端中打开

    方法一: var isPC = function () { var userAgentInfo = navigator.userAgent.toLowerCase(); var Agents = ne ...

  10. windows下node环境配置

    1.在node官网上下载合适版本的node安装包,官网地址:http://nodejs.org/#download:我下载的6.5最新版本: 2.安装node,都是系统默认的,一直安装下去: 3.在c ...