Windows:html
進入官網下載或百度網盤下載 Git(V2.23_x64)git
提取碼:uf2x程序員
Ubuntu:github
sudo apt-get -install git
安裝完成以後打開git命令行(Ubuntu命令行便可操做)正則表達式
輸入如下代碼vim
#查詢版本號bash
git --version
#設置你的姓名(最好是英文)服務器
git config --global user.name 「kimalittlestar」
#設置你的郵箱app
git config --global user.email 「kim_alittlestar@qq.com」
#查看你的姓名、郵箱和全部當前目錄下的設置列表學習
git config --global user.name git config --global user.email git config --list
從本地創建一個全新的倉庫:
#跳轉到你的項目根目錄下
cd /d/EclipsecCode/C_project/
#初始化一個Git倉庫
git init
#添加追蹤規則,這裏添加的規則是 該目錄下全部的*.c/.h文件
git add *.c *.h ./**/*.c ./**/*.h
#查看倉庫當前的狀態
git status
#編寫 .gitignore 忽視特定類型的文件
vim .gitignore
#寫入如下文本
*.[oad]
#查看當前倉庫狀態
git status
#提交當前代碼 可使用兩種方式
git commit -m 「type your commit message「
#或者不帶參數,等待他打開默認便捷器輸入提交信息文本
git commit
從遠程克隆一個倉庫:
#跳轉到你想要存儲的目錄下
cd /d/EclipsecCode/robam
#使用克隆命令,期間若是須要輸入密碼請輸入密碼
git clone https://github.com/KimAlittleStar/C_project.git
#輸入ls 查看文件目錄,發現多了一個文件夾C_project
ls
#clone 遠程倉庫到此結束 到此結束
查看文件狀態:
#在git中,除去已經忽略了的文件外,文件分爲4種狀態。
分別爲:未追蹤、未修改、已修改、已暫存。使用 git
status 查看項目中文件的狀態
git status
文件狀態裝換流程 :
#未追蹤->(git add <filename>)->已暫存 #已暫存->(git commit)->未修改 #未修改->(edit your file)->已修改 #未修改->(git remove )->未追蹤 #已修改->(git commit -a)->已暫存
#查看項目中 已修改狀態文件項目與該文件最後一次暫存的文件具體更改了哪些地方,可使用git diff 命令操做
git diff
#若是想要看已暫存的文件和已經在版本庫中的文件差別,可使用 git diff –staged
git diff -staged
#diff還能夠查看指定分支、指定文件之間的差別,更多操做請跳轉:http://gitbook.liuhui998.com/index.html
#git commit 只會提交staged 狀態的文件,使用git status查看 倉庫中文件狀態。將modified 狀態的文件使用 $ git add 改爲成爲modified狀態 而後提交。
git status git add <filename> git commit –m 「message」
#使用 git commit –a 能夠將全部追蹤內的modified 狀態和staged狀態的文件一次提交。
git commit –a –m 「this is all commit test」
查看倉庫操做歷史:
# 使用git log 能夠查看當前倉庫操做的歷史
git log
#同時你也可使用 git log –p 來內容上的差別
git log –p
#同時也可使用git log -<n> -p 來顯示最近n次內容上的差別。去掉 -p參數同理。更多使用請參閱:https://git-scm.com/book/en/v2
git log -1 -p
#使用git rm 刪除某個追蹤文件,或者在磁盤上刪除,而後使用 git status 就能夠看到刪除命令在已修改區域,而後在使用git rm 便可提交。或者使用 git commit –a 提交全部改變
爲項目添加遠程倉庫:
# 首先須要在遠程倉庫有一個你的目標遠程倉庫,其次獲取你的遠程倉庫url 。輸入如下代碼 git remote add <別名> [URL]
git remote add kimhttps://github.com/KimAlittleStar/C_project.git
上傳到遠程倉庫:
#使用git push 推送到遠程倉庫 git push <別名> <分支名>
git push kim master
#使用git commit --amend 能夠覆蓋上一次提交, 用於本身錯誤信息的修改、忘記加入暫存區的文件等,最後git倉庫中只會有一個commit
git commit git add <filename> git commit --amend
將暫存態的文件回退到已修改:
#將暫存態的文件回退到已修改須要使用git reset HEAD <filename> 此語句原理其實是使用倉庫中的 <filename>文件覆蓋暫存態的文件。詳情請參考 https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified
git reset HEAD -- <filename>
拋棄這次修改的文件:
#使用git checkout -- <filename>能夠撤銷這次對文件的修改。可是這次修改將會被真正丟棄。再也找不到。原理請參考:https://git-scm.com/book/en/v2/Git-Tools-Reset-Demystified
git checkout -- <filename>
#使用git tag –a <tagName>–m ‘tag message’能夠爲當前版本添加標籤 若是想要添加tag到以前的版本,須要在後面增長 對應版本號的校驗碼
git tag -a v0.1 -m "using tag test「
#除此以外還能夠覆蓋tag 使用 –f 參數 沒有附帶信息的tag(輕量tag) 不輸入任何參數 只輸入tag名等,詳情請參考:http://gitbook.liuhui998.com/3_7.html
添加別名快捷操做:
#使用git config --global alias.<quickName> ‘actrue str’ 能夠添加自定義的快捷操做 ;詳情請參考https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-Git-%E5%88%AB%E5%90%8D
git config --global alias.last 'log -1 HEAD'
命令行 |
做用 |
使用示例 |
git init |
在當前目錄下初始化一個新的git倉庫 |
cd <your work directory> git clone |
git clone [URL] |
在當前目錄下克隆一個git倉庫 也能夠後面加目錄參數 克隆到指定目錄 |
git clone https://code.aliyun.com/lonnox/robam_doc.git |
git status |
查看當前目錄中各個文件和操做的狀態;文件狀態詳情請點擊 |
git status |
git add <filename> <filename> … |
將當前倉庫下的文件狀態向上更新,文件狀態詳情請點擊,且支持正則表達式 |
git add *.c *.h ./**/*.c ./**/*.h 詳情參考這裏 |
git rm <filename> <filename> … |
刪除這些文件,並將此操做提交到暫存狀態(staged) |
git rm project.out |
git commit |
提交在暫存態的文件或操做,跳出編輯窗口輸入提交信息 |
git commit |
git commit –m ‘message’ |
提交 並將 ‘message 做爲提交信息’ |
git commit –m 「message」 |
git diff |
查看已修改的文件和倉庫中此文件的區別,若是後面不指定文件名那麼將顯示全部文件 |
git diff <filename> |
git diff --staged |
查看已暫存的文件與倉庫中的區別 |
git diff --staged <filename> |
git remote add <別名> [URL] |
爲本地項目添加遠程倉庫 |
git remote add kim https://github.com/KimAlittleStar/C_project.git |
git push <用戶名> <分支名> |
將本身本地的項目上傳至服務器 |
git push kim master |
git commit --amend |
將這次提交與上一次提交合並,只記錄一次提交 |
git commit --amend -a –m 「message」 |
git reset HEAD -- <filename> |
拋棄如今的暫存文件使其回退到已修改狀態 |
git reset HEAD -- Exfunction.c |
git checkout HEAD -- <filename> |
拋棄此文件的修改 |
git checkout HEAD -- Exfunction.c |
git tag |
查看、修改、添加項目的標籤 |
git tag –a v0.1 –m ‘message’ |
git config --global alias.<quickStr> ‘cmd str’ |
使用quickStr 等效替換 cmd str,例如一些固定參數的命令等。 |
git config --global alias.cmit-all 'commit -a' |
後記:
通過這幾天的學習,愈來愈感受到開源社區的奇妙與能量,這羣人都有着一種神奇的能量,讓人不禁自主的佩服和開心起來。瞭解他們的起源,和他們的思想,越能感覺到這羣率真的程序員的智慧。
最後把上面的全部內容整理壓縮成了一個小PDF文件,裏面的兩個目錄能夠點擊讓你們方便的跳轉到相對應的地方,分享給你們。
git基礎使用:
連接:https://pan.baidu.com/s/1pkmG0sOjxP8nhNIPw7NWTA 提取碼:mzut