在使用指令列版控的過程中,經常有機會用到 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. 实现放大转场动画 from cocoachina

    原文1:http://www.cocoachina.com/ios/20160318/15714.html 原文2:http://ningandjiao.iteye.com/blog/2049105 ...

  2. 【原创】web端高德地图javascript API的调用

    关于第三放地图的使用,腾讯.百度.高德 具体怎么选择看你自己怎么选择了. 高德地图开放平台:http://lbs.amap.com/ 本次使用的是高德的javascript API http://lb ...

  3. A Complete List of .NET Open Source Developer Projects

    http://scottge.net/2015/07/08/a-complete-list-of-net-open-source-developer-projects/?utm_source=tuic ...

  4. WinForm任务栏最小化

    在C#编写的WinForm里,在FormBorderStyle设为None的时候,任务栏点击程序图标,不会自动最小化.在主窗口WinForm.cs里加入如下代码后,即可恢复该功能. protected ...

  5. Linux创建定时任务

    例如: 要求每天23:59分备份lampp日志: 备份的文件名以当时的时间命名 格式为:201612241852_acces.log 备份到:/tmp/logs/目录下 1.新建shell脚本:vim ...

  6. 技术杂记-改造具有监控功能的数据库连接池阿里Druid,支持simple-jndi,kettle

    kettle内置的jndi管理是simple-jndi,功能确实比较简单,我需要监控kettle性能,druid确实是很不错的选择,但没有提供对应的支持,我改进了druid源码,实现了simple-j ...

  7. UnrealScript语言基础

    总体特征 (1)大小写不敏感.关键字.宏.变量名.函数名以及类名不区分大小写:变量名可以与关键字同名 (2)局部变量.成员变量未初始化时,会被编译器初始化 (3)没有全局变量.全局函数,所有东西必须写 ...

  8. Denormalization

    Denormalization In computing, denormalization is the process of attempting to optimize the read perf ...

  9. JSON对象格式美化

    JSON.stringify(obh, null, "\t"); 这段代码就可以对某个js对象美化输出

  10. 学习微信小程序之css7

    盒模型 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...