1. 程式人生 > >[Git]Git教程之msysgit(命令列形式)

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

步驟一:在GitHub新建託管專案

1-1. 要託管到github,那你就應該要有一個屬於你自己的github帳號 github官網:https://github.com/

    在位址列輸入地址:github.com 
    填寫使用者名稱、郵箱、密碼 
    點選Sign up即可簡單地註冊

1-2. 完成註冊,進入github平臺, 點選new repositories 新建一個新專案(你也可以加入到一個已有的專案)

new repositories

1-3. 新建專案的操作,其實很簡單,輸入專案名就可以直接Create了

Create

1-4. 新建專案建立完成後,跳轉到這個頁面,點選右邊欄的剪下板圖示,複製記錄下你的專案地址。

copy

步驟2 Git教程

首先你要在本地計算機中安裝一個git客戶端。(你可以直接使用GitHub客戶端,也可以用其他)

因本人使用的是msysgit,所以這裡以msysgit作為介紹(msysgit同樣也是目前最為廣泛及實用的工具之一)。

下載並安裝最新版本的msysgit
安裝完成後,進入到要託管的專案根目錄,
右鍵啟動Git Bash命令列

2.1 初始化

下面的終端(terminal)執行在 octobox 資料夾下。初始化倉庫,可以執行如下指令:

git init

2.2 檢查狀態

乾的好!正如 Git 剛剛告訴我們的,現在 octobox 目錄下的 /.git/ 裡面有一個空倉庫。這個倉庫在 Git 操作的地方是隱藏目錄。

接下來,讓我們輸入 git status 命令來檢視我們的專案現在是什麼狀態:

git status 

2.3 新增和提交

我為你在 octobox 倉庫下建立了一個 octocat.txt 檔案(正如你在瀏覽器的下面看到的)。

你應該再次執行 git status 命令來檢視倉庫的狀態發生了怎樣的變化:

git status

2.4 新增變化

嗯,看起來我們的 Git 倉庫工作的還不錯。注意到 Git 提示 octocat.txt 是未監聽(untracked)的嗎?這意味著 Git 發現 octocat.txt 是一個新檔案。

為了告知 Git 開始監聽發生在 octocat.txt 上的改變,我們首先需要使用 git add

把它新增到暫存區。

git add octocat.txt

2.5 檢查改變

乾的不錯!Git 現在正在監聽 octocat.txt 檔案。我們再來執行一次 git status來看一下現在的狀態。

git status

2.6 提交

注意到 Git 提示 changes to be committed 了嗎?現在檔案正處於暫存區(Staging Area),並沒有在我們的倉庫裡面。在儲存在倉庫之前,我們可以給暫存區新增檔案或者從暫存區移除檔案。

通過執行 commit 命令,我們可以儲存暫存區的改變並且給做出的改變新增一個描述。我們現在就來執行:

git commit -m "Add cute octocat story"

2.7 新增所有改變

棒極了!如果你想新增很多同種檔案型別的檔案,你可以是使用萬用字元(wildcards)。注意,我添加了很多 .txt 檔案到下面的目錄。

我把一些 .txt 檔案放在了 octofamily 目錄裡面,另外一些放在了 octobox 根目錄裡面。幸運的是,我們可以通過一個萬用字元和 git add 來新增所有的新檔案。不要忘記引號!

git add '*.txt'

2.8 提交所有的改變

不錯,你已經把所有的文字檔案(text files)都新增到了快取區。隨時執行 git status 來檢視你要提交的內容。

如果看起來沒問題,那就執行:

git commit -m 'Add all the cotocat txt files'

2.9 歷史

我們已經提交了幾次了。現在我們來看一下我們都改變了些什麼。

我們很幸運,有一個 git log 指令。可以把Git’s log想成是一個能按照提交順序記錄提交的改變的日誌。現在試著執行它吧:

git log

2.10 遠端倉庫

做的不錯!現在我們就去新建一個新的空 GitHub 倉庫讓你在 https://github.com/xiaololo/myTest.git… 來使用 Try Git。為了把本地倉庫推送到 GitHub 的伺服器,我們需要新增一個遠端倉庫。

繼續執行帶有以下選項的git remote add:

git remote add origin https://github.com/xiaololo/myTest.git

2.11 遠端推送

當一切就緒之後,push 命令用來告訴 Git 把我們的提交存放在什麼地方。現在我們一切都準備好了,那麼把我們本地的改變推送到 GitHub 上面的源倉庫吧。

遠端倉庫的名字叫做 origin,預設本地分支的名字是 master。-u 用來告訴 Git 記住引數,這樣的話,下一次我們只需要簡單的執行 git push就行了,剩餘的事情 Git 知道該怎麼做。接下來就是推送它!

git push -u origin master

2.12 遠端拉取

讓我們假裝已經過了一段時間。我們邀請了一些人來我們的 GitHub 專案,他們拉取了你的改變,提交併且推送了一些東西。

我們可以檢查GitHub倉庫的改變,通過執行命令來拉取新的改變:

git pull origin master

2.13 差異

哦,看起來 octocat family 有一些補充和修改,我們可以通過 git diff 來看一下它跟我們最後一次提交有什麼不同。

在這種情況下,我們想得到的是與最近一次提交的不同。最近一次提交我們可以參考使用 HEAD 指標。

2.14 暫存區差異

diff 另外一個很棒的用途是檢視被暫存檔案的改變。記住,暫存檔案是那些我們告訴 git 準備提交的檔案。

Let’s use git add to stage octofamily/octodog.txt, which I just added to the family for you.

我們使用 git add來暫存剛剛新增到 octofamily 的octofamily/octodog.txt。

git add octofamily/octodog.txt

2.15 暫存區差異(續)

好,現在繼續執行 帶有 --staged 選項的 git diff 來檢視你剛剛暫存的檔案的改變。你會看到 octodog.txt 被建立。

git diff --staged

2.16 重置暫存

現在 octodog 也是家庭的一部分了,octocat 很傷心。因為我們愛 octocat 勝過愛 octodog,所以我們移除 octodog.txt 來讓ocotocat開心。

你可以使用 git reset 命令來取消暫存(unstage)。刪除 octofamily/octodog.txt :

git reset octofamily/octodog.txt

2.17 撤銷

git reset 可以很好的完成撤銷暫存octodog.txt,但是你會注意到它仍然在那裡。它只是不會再被暫存了。如果我們能夠回到 octodog 到來並且破壞聚會之前,那就太好了。

通過git checkout -- <target> 命令檔案可以回到最後一次提交的時候。讓我們繼續,扔掉 octocat.txt 最後一次提交之後的改變

git checkout -- octocat.txt

2.18 分支

當開發者為一個特性或者 bug 工作的時候,他們通常會建立一個程式碼的副本(又稱:分支)為了能夠分別提交。然後,當工作完成之後他們可以把這個分支合併到主 master 分支。

我們想要去除所有討厭的 octocats,我們要建立一個 clean_up 分支,在這個分支上我們可以繼續工作。

git branch clean_up

2.19 切換分支

棒極了!現在如果你輸入 git branch 來檢視分支,你會發現有兩個本地分支:一個叫做 master 的主分支,還有你的新分支 clean_up。

你可以通過 git checkout 命令來切換分支。現在嘗試切換到 clean_up 分支。

git checkout clean_up

2.20 移除所有東西

好,你現在正處於 clean_up 分支上。最後你可以使用 git rm 命令來移除所有討厭的octocats,這個命令不僅能能從磁碟上刪除真正的檔案,還能把快取中的檔案也刪掉。

如果你想使用萬用字元來一次性獲取所有的 octocats,那麼請執行:

git rm '*.txt'

2.21 提交分支的改變

你已經移除了所有的貓,那麼現在你需要提交改變。

執行 git status 來檢查你準備提交的改變。

git commit -m "Remove all the cats"

2.22 切回 master 分支

好的,你已經完成了 bug 修復,現在需要切換為 master 分支,因此你通過複製或者合併把 clean_up 分支上的改變放到 master 分支上。

現在切換為 master 分支:

git checkout master

2.23 準備合併

把 clean_up 分支上的改變合併到 master 分支的時刻到了。深吸一口氣,這並不可怕。

現在我們處於 master 分支上面,因此我們只需要告訴 Git 把 clean_up 合併到 master 分支:

git merge clean_up

2.24 保持乾淨

恭喜你!你已經成功完成了第一次 bug 修復和合並。接下來要做的是把自己清理乾淨。因為你已經完成了 clean_up,所以你不再需要它了。

你可以使用 git branch -d 命令來刪除一個分支。現在就來刪除一個試試:

git branch -d clean_up

2.25 最後的推送

現在我們到了最後一步。我很自豪你能走到這裡,學習 Git 對你來說一定很棒。你現在要做的就是把你工作目錄裡的所有東西都推送到遠端倉庫中去,你已經完成了所有事情:

git push

相關推薦

[Git]Git教程msysgit命令形式

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

ubuntu16.04 安裝opencv3.4.3以及opencv_contrib命令形式

通過命令列下載opencv檔案: git clone https://github.com/Itseez/opencv.git git clone https://github.com/Itseez/opencv_contrib.git 安裝依賴項: sudo apt-get install

Git工程遷移方法總結命令

Git工程遷移方法總結Git工程遷移方法總結Git最近準備遷移一下位置,這裡採用命令列的方式,做如下操作。1.git init  初始化git倉庫,這個時候發現本地資料夾多了個.git的資料夾。2.git remote add-url origin 增加資源庫地址3. git

Git庫程式碼統計命令統計

1、檢視兩個版本之間的檔案及程式碼量差異有效程式碼更多是指:純新增的程式碼和修改的程式碼,純刪除的程式碼可忽略不計。實際有效程式碼行數 = 程式碼add的行數git diff --stat v3.2.2 v3.3.0 (按tag號)git diff –stat commit1

GitBook製作電子書詳細教程命令

GitBook 是一款基於 Node.js 開發的開源的工具,可以通過命令列的方式建立電子書專案,再使用 MarkDown 編寫電子書內容,然後生成 PDF、ePub、mobi 格式的電子書,或生成一個靜態站點。 除此之外,還可以利用 Git 命令管理電子書版本。如果你

Hbase實戰教程happybase轉自wolfoxliu

Hbase實戰教程之happybase  wolfoxliu W    wolfoxliu 釋出於 2017/03/10 1 本文基於實驗室已經搭建好的Hadoop平臺而寫,使用Python

前端系列教程JS常規驗證規則

<!DOCTYPE HTML> <head> <title>常見的驗證規則</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

thinkphp 3.2的cli模式命令模式的正確使用方法

最近要使用thinkphp3.2版本的cli模式,手動執的話沒有問題,比如php /www/index.php home/article/get 這樣沒有問題,但是一般用cli模式都是定時任務比較多,這個時候寫到定時任務的時候,比如 0 * * * * * php /ww

前端系列教程HTML常用meta標籤

<head> <!-- 宣告文件使用的字元編碼 --> <meta charset='utf-8'> <!-- 優先使用 IE 最新版本和 Chrome --> <meta http-equiv="X-UA

Command Injection命令注入

命令注入漏洞是特別危險的,因為它們允許未經授權的執行作業系統命令,它們的存在,因為應用程式無法正確地驗證和消毒,使用時呼叫shell的功能,如的引數。攻擊者與控制這些引數可以欺騙應用程式執行任何系統命令自己的選擇。為了正確測試命令注入漏洞,應遵循以下步驟:§第1步:瞭解攻

安卓記憶體獲取的常用方式命令||程式碼

安卓記憶體獲取的常用方式(這是為下一章“仿360懸浮視窗”做準備的) 方式一、用過linux的都知道有這樣一行命令:cat /proc/meminfo 查詢記憶體使用詳情檔案(查詢CPU使用詳情檔案:

Mac 擷取一個視訊中部分片段命令方法

蘋果電腦中想要擷取一個視訊中的某一段視訊,參考了百度經驗 開啟命令列,執行以下操作 mkdir bin cd bin touch capture.txt open capture.txt 輸入一下內容: #! /usr/local/bin/python3 im

Linux命令下載

對於喜歡命令列操作及追求高效率、高速度下載的朋友,推薦使用命令列下載工具。命令列工具不但使用方便,而且大多具有很高的下載速度及下載效率,尤其適合於大批量下載檔案。下面就為大家詳細介紹一下這些工具。     Wget     Wget是一個十分常用命令列下載工具,多數Linu

Git入門安裝及基礎命令操作

一、安裝 1、Mac   在Mac中安裝Git的方法不止一種。最簡單的要數通過Xcode命令列工具。對於Mavericks(10.9)或更高版本的作業系統,當你第一次嘗試在終端執行git命令時,系統會自動檢查是否已安裝Git;如果未安裝,則會提示你安裝它。如果希望獲得更高的版本,也可以通過二進位制安裝程式

美化git客戶端命令

顯示顏色: git config --global color.ui true 配置別名: git config --global alias.st status #用git st代替git status git config --global alias.last 'log

Git的安裝和簡單使用命令模式+圖形化模式

  剛開始用git的小白適用,參考連結:http://www.cnblogs.com/qijunjun/p/7137207.html  實際專案開發中,我們經常會用一些版本控制器來託管自己的程式碼,今天就來總結下Git的相關用法,廢話不多說,直接開寫。   目的:通過Git管理GitHub上託管的專

Git版本管理—— Git基本操作流程及相關命令

本章繼續上章的型別,介紹基於空專案的版本庫操作,本教程基於Ubuntu 建立版本庫 新增檔案 修改檔案 刪除檔案 版本回退 基本概念 管理以及撤銷修改 新增到遠端倉庫 從遠端倉庫克隆 建立版本庫 版本庫又名倉庫,英文名repository,可以

git 入門教程 git bash 竟然不支援 tree 命令

開門見山 git bash 是 Windows 使用者安裝 git 時預設安裝的命令列工具,不僅介面漂亮功能也不錯,大多數情況下可以替代 Windows 原生的 cmd 命令列. 然而,git bash 命令列不是萬金油,並不能完全替代 cmd ,詳情請參考 mintty 官網的相關說明. mintty

版本管理Git和GitHub的區別優點和缺點

機制 最大 客戶 內核 文件 敏捷 star 一定的 sch Git 簡介 https://www.yiibai.com/git/getting-started-git-basics.html Git 是一個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的

Git 基礎教程 創建版本庫

初始化 .com ima 版本 repo -a info 版本庫 新建 一,選擇一個合適的地方,創建空目錄,下面兩種方法都可 ① 手動新建 ② 使用命令: mkdir pythonwork 二,初始化,使目錄變成Git可管理的倉庫 執行: git