git--基礎篇
一、環境初始化
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]
$ git config --list
$ git config user.name
1、獲取幫助
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
$ git help config
二、獲取 Git 倉庫
1、在現有目錄中初始化倉庫
$ git init $ git add *.c $ git add LICENSE $ git commit -m 'initial project version'
2、克隆現有的倉庫
$ git clone https://github.com/libgit2/libgit2
$ git clone https://github.com/libgit2/libgit2 mylibgit
三、記錄每次更新到倉庫
1、檢查當前檔案狀態
$ git status
On branch master
nothing to commit, working directory clean
跟蹤檔案
$ git add README
要暫存這次更新,需要執行 git add 命令。 這是個多功能命令:可以用它開始跟蹤新檔案,或者把已跟蹤的檔案放到暫存區,還能用於合併時把有衝突的檔案標記為已解決狀態等。 將這個命令理解為“新增內容到下一次提交中”而不是“將一個檔案新增到專案中”要更加合適。
git status
命令的輸出十分詳細,但其用語有些繁瑣。 如果你使用 git status -s
命令或 git status --short
命令,你將得到一種更為緊湊的格式輸出。 執行 git status -s
,狀態報告輸出如下:
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
新新增的未跟蹤檔案前面有 ??
標記,新新增到暫存區中的檔案前面有 A
標記,修改過的檔案前面有 M
標記。 你可能注意到了 M
有兩個可以出現的位置,出現在右邊的 M
表示該檔案被修改了但是還沒放入暫存區,出現在靠左邊的 M
README
檔案在工作區被修改了但是還沒有將修改後的檔案放入暫存區,lib/simplegit.rb
檔案被修改了並將修改後的檔案放入了暫存區。 而 Rakefile
在工作區被修改並提交到暫存區後又在工作區中被修改了,所以在暫存區和工作區都有該檔案被修改了的記錄。
2、忽略檔案
$ cat .gitignore
*.[oa]
*~
第一行告訴 Git 忽略所有以 .o
或 .a
結尾的檔案。一般這類物件檔案和存檔檔案都是編譯過程中出現的。 第二行告訴 Git 忽略所有以波浪符(~)結尾的檔案,許多文字編輯軟體(比如 Emacs)都用這樣的檔案 。
檔案 .gitignore
的格式規範如下:
-
所有空行或者以
#
開頭的行都會被 Git 忽略。 -
可以使用標準的 glob 模式匹配。
-
匹配模式可以以(
/
)開頭防止遞迴。 -
匹配模式可以以(
/
)結尾指定目錄。
要忽略指定模式以外的檔案或目錄,可以在模式前加上驚歎號(!
)取反。所謂的 glob 模式是指 shell 所使用的簡化了的正則表示式。 星號(*
)匹配零個或多個任意字元;[abc]
匹配任何一個列在方括號中的字元(這個例子要麼匹配一個 a,要麼匹配一個 b,要麼匹配一個 c);問號(?
)只匹配一個任意字元;如果在方括號中使用短劃線分隔兩個字元,表示所有在這兩個字元範圍內的都可以匹配(比如 [0-9]
表示匹配所有 0 到 9 的數字)。 使用兩個星號(*
) 表示匹配任意中間目錄,比如`a/**/z` 可以匹配 a/z
, a/b/z
或 `a/b/c/z`等。
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
3、檢視已暫存和未暫存的修改
如果 git status
命令的輸出對於你來說過於模糊,你想知道具體修改了什麼地方,可以用 git diff
命令。
要檢視尚未暫存的檔案更新了哪些部分,不加引數直接輸入 git diff
:
若要檢視已暫存的將要新增到下次提交裡的內容,可以用 git diff --cached
命令。(Git 1.6.1 及更高版本還允許使用 git diff --staged
,效果是相同的,但更好記些。)
4、提交更新
$ git commit
你也可以在 commit
命令後新增 -m
選項,將提交資訊與命令放在同一行,如下所示:
$ git commit -m "Story 182: Fix benchmarks for speed"
給 git commit
加上 -a
選項,Git 就會自動把所有已經跟蹤過的檔案暫存起來一併提交,從而跳過 git add
步驟:
$ git commit -a -m 'added new benchmarks'
5、移除檔案
$ rm PROJECTS.md
如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f
另外一種情況是,我們想把檔案從 Git 倉庫中刪除(亦即從暫存區域移除),但仍然希望保留在當前工作目錄中。 換句話說,你想讓檔案保留在磁碟,但是並不想讓 Git 繼續跟蹤。 當你忘記新增 .gitignore
檔案,不小心把一個很大的日誌檔案或一堆 .a
這樣的編譯生成檔案新增到暫存區時,這一做法尤其有用。 為達到這一目的,使用 --cached
選項:
$ git rm --cached README
git rm
命令後面可以列出檔案或者目錄的名字,也可以使用 glob
模式。 比方說:
$ git rm log/\*.log
6、移動檔案
$ git mv file_from file_to
相關推薦
git基礎篇之-git配置資訊搭建
第一步:安裝git 圖示:一般從官網進來下載時都會是最新版本 未把圖片貼出來的,後面持續的選擇預設項就可以了 第二步:安裝好git後,開啟命令符檢查自己的版本 2.1 檢視版本命令: git version
Git基礎篇之遠端倉庫的基本操作以及如何給github的ReadMe檔案新增圖片
先給大家介紹個我自己總結的第一次如何上傳程式碼到github點選開啟連結,簡單介紹了初次使用的一些操作步驟,公司用的是SVN,但是多學點知識總是好的,萬一以後遇到了呢。和SVN一樣,和其他人合作開發專案
git--基礎篇
一、環境初始化 $ git config --global user.name "John Doe" $ git config --global user.email [email protected] $ git config --list $ git conf
g4e基礎篇#4 了解Git存儲庫(Repo)
存在 pull release .cn gitignore evel load file 鏈接 章節目錄 前言 1. 基礎篇: 為什麽要使用版本控制系統 Git 分布式版本控制系統的優勢 Git 安裝和設置 了解Git存儲庫(Repo) 起步 1 &nda
g4e基礎篇#6 了解Git歷史記錄
ron 表示 git merge none 這一 如果 代碼 工具 lin 章節目錄 前言 1. 基礎篇: 為什麽要使用版本控制系統 Git 分布式版本控制系統的優勢 Git 安裝和設置 了解Git存儲庫(Repo) 起步 1 – 創建分支和保
Git學習0基礎篇(下)
擴展 創建 不同 sheet id_rsa con 簡單 托管 讀取數據 server上的 Git - 協議 Git能夠使用四種基本的協議傳輸資料:本地協議(Loc
Git 學習筆記(基礎篇)
1. 命令初識 檢視GIT版本 git --version 在Global級別設定UserName(推薦使用) git config --global user.name ’Freud Kang‘ 在當前目錄界別設定UserName(優先順序高)git config us
Git學習筆記:基礎篇
被拒絕 斜杠 etc 信息 bsp 鏈接地址 一起 add 學習 git可以說是所有開發者出開發語言之外的最基本的基本功了,熟悉git可以方便的進行代碼版本控制,以及與其他開發者進行合作開發。本文內容是我以往學習git時做的筆記,主要是關於git最基本的操作,但 只要熟練掌
一篇長文說 git 基礎
版本管理在產品級開發中是非常重要的一個部分,它涉及到團隊協作,且影響到產品最終的釋出、上線以及測試環節,當前最流行的版本控制系統是 git。git 內容非常多,本文儘量剋制地來介紹 git 的基礎內容 概述 版本控制系統的作用 版本控制系統(Version Control System)是一種記錄若干檔案
Git 沙盒模擬實戰(基礎篇)
# Git 沙盒模擬實戰 ## 分支 現有一個主分支 ![image-20200911190747381](https://i.loli.net/2020/09/11/8fRnNQYUWXbA6Ex.png) ### 建立分支 ~~~shell # 建立分支 $ git branch bugFi
Qt入門之基礎篇 ( 二 ) :Qt項目建立、編譯、運行和發布過程解析
qt 5 對話 讓我 進度 qmake ctr deploy 設定 設置 轉載請註明出處:CN_Simo。 題解: 本篇內容主講Qt應用從創建到發布的整個過程,旨在幫助讀者能夠快速走進Qt的世界。 本來計劃是講解Qt源碼靜態編譯,如此的話讀者可能並不能清楚地知
Qt入門之基礎篇 ( 一 ) :Qt4及Qt5的下載與安裝
mingw ins 第3版 點擊 調試 但我 關系 構建 eas 轉載請註明出處:CN_Simo. 導語: Qt是一個跨平臺的C++圖形界面應用程序框架。它提供給開發者建立圖形用戶界面所需的功能,廣泛用於開發GUI程序,也可用於開發非GUI程序。Qt很容易擴展,並
進階之路(基礎篇) - 011 arduino api基礎手冊
異或 change 可用 算術運算符 chan 程序結構 換算 是否 關閉 arduino 函數 api 程序結構 在Arduino中, 標準的程序入口main函數在內部被定義, 用戶只需要關心以下兩個函數:void setup()void loop()setup() 函數
進階之路(基礎篇) - 008 SPI數據傳輸(庫函數方法)
ria att clockd == bus 屏蔽 attach serial out 主機端: 1 /********************************* 2 代碼功能:SPI數據傳輸(主機端) 3 引腳說明: 4 SS/CS:片選(高電平屏
進階之路(基礎篇) - 009 通過底層AVR方法實現SPI數據傳輸
lean oop and return false 進階 from setup pie 主機端: /********************************* 代碼功能:通過底層AVR方法實現SPI數據傳輸(主機端) 創作時間:2016*10*17 使用資源:
進階之路(基礎篇) - 007 脈沖寬度測量
style 函數 long 最大 void serial 作者 println 電平 1 /********************************* 2 代碼功能:Pulse脈沖寬度測量 3 使用函數: 4 pulseIn(引腳號,脈沖響應電平,
elasticsearch-查詢基礎篇
cor 結構 one and string 以及 sco 高級 posit elasticsearch的查詢有兩部分組成:query and filter。 兩者的主要區別在於:filter是不計算相關性的,同時可以cache。因此,filter速度要快於query。 先
【轉載】 Spark性能優化指南——基礎篇
否則 內存占用 是否 進行 優先 邏輯 我們 流式 字節數組 前言 開發調優 調優概述 原則一:避免創建重復的RDD 原則二:盡可能復用同一個RDD 原則三:對多次使用的RDD進行持久化 原則四:盡量避免使用shuffle類算子 原則五:使用map-side預聚
Django基礎篇之數據庫選擇及相關操作
setting 必須 需要 mysql pyc -- creates 127.0.0.1 settings 在djanjo框架中我們最常用的框架分別就是mysql和sqlit了,下面我們將分別講述一下這倆種數據庫的基礎必備知識 mysql 一、利用命令創建(在終端上執行)
[轉]Eclipse插件開發之基礎篇(1) 插件開發的基礎知識
作用 原本 services 註冊 1-1 啟動 創建 abs class 原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/13/eclipse_plugin_1_0_2.html 名詞翻譯 有一些名詞在翻譯的