歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Git常用命令行簡介

Git常用命令行簡介

日期:2017/3/1 12:00:33   编辑:關於Linux
一、概述

關於Git命令行使用的一些個人經驗總結

Git的安裝與簡單配置 Git的基本工作流程 Git的分枝管理 Git的log與比較顯示 Git的修改與還原 Git重寫歷史記錄

二、使用方式和效果圖

(1)Git的安裝與簡單配置:

打開 Git 的官方網站: http://git-scm.com/,下載安裝文件,按照通用安裝流程,點擊下一步(Next)。

唯一需要注意的是在否配置Path頁面的時候,選擇中間一個,可以通過 Windows命令行(CMD)調用 git 命令。

這裡寫圖片描述

安裝完成之後,桌面點擊右鍵會出現這兩個圖標。

這裡寫圖片描述

這個時候點擊Git Base Here 即可進入Git命令行操作窗口

這裡寫圖片描述

這個時候還不能進行Git的基本操作,必須要設置本地機器默認commit的昵稱與Email,否者會commit 失敗。

這裡寫圖片描述

如果要使用git進行推送,則必須配置 push.default ,否則推送失敗. 姓名與Email只用於日志標識.實際推送到GitHub等在線倉庫時,要用有操作權限的賬號登錄. 在每個項目根路徑下面可以設置單獨的Email與姓名.

這裡寫圖片描述

git config 有三個級別分別是

1.git config –local(可省略) 針對的是當前倉庫

2.git config –global 針對的是當前用戶

3.git config –system 針對的是整個個系統

最後,可以通過git config help 查看config相關的詳細說明

####**(2) Git的基本工作流程:** ##### 現在是基本的工作流程,首先需要建立一個本地倉庫—>git init 倉庫名

找到一個合適的位置創建,然後進入倉庫 ![這裡寫圖片描述](http://img.blog.csdn.net/20160429141152420) ![這裡寫圖片描述](http://img.blog.csdn.net/20160429141550479)

touch a.txt 創建一個a.txt 文件

git add a.txt 把a.txt 提交到緩沖區

git commit a.txt -m "提交的描述" 把a.txt提交到歷史

git status 常看提交狀態

(3)Git的分枝管理:

創建並切換到分枝

這裡寫圖片描述

下面模擬沖突,首先在分枝上修改a.txt提交,然後在主分枝master上修改a.txt,然後合並分枝。

vim a.txt 打開文件,然後按鍵盤I鍵,編輯模板會切換到Insert模式,這個時候就可以編輯文件了。編輯完成之後,保存退出的步驟是按一下Esc鍵,然後是連按兩下大寫的Z鍵。

這裡寫圖片描述

添加到緩存區並提交

這裡寫圖片描述

然後在master主分枝上修改a.txt,然後開始准備合並分枝

這兒用到了,git add . 代表添加全部文件到緩沖區。

git commit -m “內容” 代表提交全部文件

這裡寫圖片描述

然後使用 git merge 分枝名 合並分枝出現了沖突。解決辦法就是打開沖突了的那個文件,解決沖突,然後重新提交。

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

就像圖片上的,藍色字體也由master|MERGING變為master,這樣一次沖突就解決了。

(4) Git的log與比較顯示以及一些常用操作:

查看日志的命令行

git log 完整的歷史信息,按q退出

git log -p 輸出每個commit之間的差異信息

git log --stat 輸出每個commit之間的差異統計信息

git log --oneline 輸出單行的信息

git log --oneline --stat -p 以上的信息組合

git log --oneline --decorate --graph --all(--decorate代表commit引用信息 --graph代表所有信息 --all代表所有分枝)

git diff 輸出工作區與暫存區的差異

git diff --cached 暫存區跟歷史提交的差異

git diff HEAD~2 -- master.txt 當前工作區,與其它歷史提交的某個版本某個文件的比較

git diff --cached HEAD~2 暫存區與其它歷史區某個版本的比較

git diff HEAD HEAD~2 當前歷史與其它歷史的比較

git diff HEAD HEAD~2 -- master.txt 當前歷史與其它歷史的比較,指定某個文件

git diff --color-words 顯示工作區與暫存區不同的單詞,用顏色區分

git diff --word-diff 顯示工作區與暫存區不同的單詞,標識符區分分

git commit --amend 產生一個新的提交來替換當前的提交

git rebase 有超強的歷史修改能力,可以幫我們維護一個線性的歷史、

git revert HEAD 還原工作區、緩存區到上一個提交的內容,但是指向的是一個新的提交

git reset 撤銷掉一個提交

git reflog 維護了一個HEAD 引用的歷史信息,通常配合git reset 來使用

git reflog -10 輸出近10條的

git reset --hard HEAD@{5} 還原暫存區和工作區 ,分枝引用,和HEAD引用指向當前的commit

git reset --mixed 還原暫存區 ,分枝引用,和HEAD引用指向當前的commit

git reset --soft 分枝引用,和HEAD引用指向當前的commit

Copyright © Linux教程網 All Rights Reserved