Git命令的簡單整理

前言

原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000

自動幫助記錄每次文件的改動笨使,同時協(xié)作永工作

學(xué)習(xí)git命令是充分必要的

集中式和分布式

分布式每個人電腦都是一個完整的版本庫,也有類似中央服務(wù)器的電腦驶冒,但是這個服務(wù)器只是用來交互打架的修改沒有它大家也一樣干活悄窃,只是交互修改不方便而已

安裝只要安裝了xcode就可以了

倉庫:里面文件修改涩盾,刪除虑绵,添加都能被git追蹤冶共,認(rèn)識時刻都能追蹤歷史或者將來某哥時刻還原只能追蹤文本文件的改動

創(chuàng)建目錄和查看路徑


mkdir 創(chuàng)建目錄??

cd? ? 進(jìn)入到目錄里面

pwd? 用于顯示當(dāng)前的目錄

cat? 查看文件內(nèi)容

Git命令使用說明


初始化一個目錄成git的倉庫(版本庫)包括暫存區(qū)和master分支

git init查看當(dāng)前目錄的文件包括隱藏文件

ls -ah獲取git命令的手冊頁

git help使用git前需要進(jìn)行一些全局的配置

> 1脱盲、用戶目錄下的配置邑滨,當(dāng)前登陸用戶所有的倉庫調(diào)用這個配置 ~/.gitconfig

> 2、項目目錄的配置钱反,優(yōu)先級高掖看,覆蓋全局配置

配置用戶名和郵箱

git config --global user.name "wirelessqa"

git config --global user.email wirelessqa.me@gmail.com

git config --global color.ui true 讓Git顯示顏色,會讓命令輸出看起來更醒目

.gitignore 配置 不納入git管理 主要是系統(tǒng)文件,編譯文件面哥,自定義的文件 哎壳,這個文件也用推送到遠(yuǎn)程庫

https://github.com/github/gitignore ,創(chuàng)建 touch 命令

配置編輯器 git在需要輸入一些消息

git config --global core.editor emacs

配置比較工具

git config --global merge.tool vimdiff

讀取配置(同一個配置選項會出現(xiàn)多次尚卫,以最后一次為準(zhǔn))

git config --list

提交文件之前

先查看當(dāng)前的狀態(tài) ,能提示你接下來怎么做的命令归榕,比如修改工作區(qū)文件內(nèi)容,提示你添加到暫存區(qū)或者丟棄工作區(qū)修改的命令

git status

查看文件到底修改了什么

git diff

提交修改

納入git倉庫管理吱涉,把修改添加到暫存區(qū)(使用.代表將所有的修改進(jìn)行添加)

git add .

把暫存區(qū)里面的所有修改提交到當(dāng)前分支同時創(chuàng)建一個快照

git commit -m ""

如果確認(rèn)當(dāng)前所有變更都是同一個commit刹泄,可以直接加-a,就不必一個一個add了

git commit -a -m ""

工作區(qū)和版本庫里最新版本的區(qū)別

git diff HEAD -- readme.txt

查看提交歷史

git log --pretty=oneline

撤銷修改

git checkout -- readme.txt

> 1怎爵、修改后還沒添加到暫存區(qū) 特石,撤銷修改回到最近一次commit的狀態(tài),也就是和版本庫里面的狀態(tài)一樣

> 2鳖链、修改后被添加到暫存區(qū)了县匠,又做了修改 ,撤銷修改就回到添加到暫存區(qū)后的狀態(tài),也就是跟暫存區(qū)里面的狀態(tài)保持一致

> 3撒轮、用版本庫里的版本替換工作去的版本乞旦,無論工作區(qū)是修改還是刪除

可以把暫存區(qū)的修改撤銷掉

git reset HEAD file

提交文件刪除修改到暫存區(qū)

git rm test.txt

版本回退

git的版本回退知識改了head 指針,順便把工作區(qū)的文件更新掉了

git reset --hard HEAD^

git reset --hard 3628164

查看命令歷史


可以看到reset和commit等命令歷史题山,可以利用這個命令查看最近一次 commitid

git reflog

工作區(qū)和暫存區(qū)


工作區(qū):電腦上能看到的目錄 ,里面有個.git 隱藏目錄這個不算工作區(qū)兰粉,是git的版本庫

版本庫里面包含了暫存區(qū)stage和git為我們自動創(chuàng)建第一個分支

遠(yuǎn)程庫管理


查看遠(yuǎn)程庫信息

git remote -v

修改遠(yuǎn)程倉庫地址(在已經(jīng)add了遠(yuǎn)程倉庫地址,使用它進(jìn)行修改地址)

git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git

關(guān)聯(lián)遠(yuǎn)程庫(添加遠(yuǎn)程倉庫地址)

git remote add origin git@github.com:linhbcode/first-test.git

本地的master分支推送到遠(yuǎn)程的master分支上顶瞳,原則就是master分支要與遠(yuǎn)程同步 玖姑,dev 分支開發(fā)分支,也需要遠(yuǎn)程同步

git push origin master

master分支推送到遠(yuǎn)程的master分支慨菱,本地master 分支和遠(yuǎn)程master分支建立關(guān)聯(lián)

git push -u origin master

Git自動把本地的master分支和遠(yuǎn)程的master分支對應(yīng)起來了焰络,并且,遠(yuǎn)程倉庫的默認(rèn)名稱是origin

git clone git@github.com:linhbcode/first-test.git

git pull 如果提示沖突解決沖突 抓去信息碰到?jīng)]有鏈接的 有兩種方式解決

> 1符喝、git branch --set-upstream branch-name origin/branch-name 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)

> 2闪彼、git pull origin branchname

分支管理


1、不完整的代碼在其它分支上提交

2、每個提交都在一個時間線上的節(jié)點(diǎn)上畏腕,分支相當(dāng)于指向一個節(jié)點(diǎn)的指針

head 本質(zhì)上是指向分支的指針

創(chuàng)建并切換分支

git checkout -b dev

本地分支創(chuàng)建和遠(yuǎn)程分支相同的分支缴川,主要是倉庫從遠(yuǎn)程clone過來的(一般要先git fetch,再git checkout -b branch-name origin/branch-name)

git checkout -b branch-name origin/branch-name

創(chuàng)建分支

git branch dev

切換分支 , 如果當(dāng)前的工作只完成一半描馅,還沒發(fā)提交的話

git checkout dev

可以用 git stash 保存工作現(xiàn)場 把夸,在用它之前可以 git stash list 查看有幾個暫存的列表

查看有幾個暫存的列表

git stash list

保存工作現(xiàn)場

git stash

恢復(fù) 工作現(xiàn)場

git stash apply

來刪除 工作現(xiàn)場

git stash drop

查看當(dāng)前分支

git branch

查看遠(yuǎn)程分支

git branch -r

合并分支

git merge dev

刪除分支

git branch -d dev

強(qiáng)行刪除分支

git branch -D dev

(刪除遠(yuǎn)程分支)冒號前面的空格不能少,原理是把一個空分支push到server上铭污,相當(dāng)于刪除該分支恋日。

git push origin :branch-name

提交本地test分支作為遠(yuǎn)程的master分支

git push origin test:master

提交本地test分支作為遠(yuǎn)程的test分支

git push origin test:test

剛提交到遠(yuǎn)程的test將被刪除,但是本地還會保存的嘹狞,不用擔(dān)心

git push origin :test

查看分支合并圖

git log --graph

查看提交歷史

git log --pretty=oneline --abbrev-commit

合并分支

git merge branchname

合并分支的時候不采用ff模式(分支刪除了還能看的到分支歷史信息)

git merge --no-ff -m "merged bug fix 101" issue-101

標(biāo)簽管理


描述開發(fā)歷程谚鄙,在發(fā)布一個版本的時候打一個標(biāo)簽

查看所有的標(biāo)簽

git tag

對莫一個提交歷史打一個標(biāo)簽

git tag v1.0 [commit id]

查看標(biāo)簽信息

git show [tagname]

正式開發(fā)下最好用這條語句標(biāo)注下這個標(biāo)簽的描述

git tag -a v0.1 -m "version 0.1 released" 3628164

刪除標(biāo)簽

git tag -d v0.1

推送標(biāo)簽

git push origin v1.0

推送全部標(biāo)簽

git push origin --tags

遠(yuǎn)程刪除標(biāo)簽(先從本地刪除標(biāo)簽)

git push origin :refs/tags/v0.9

ssh配置


SSH_KEY配置

Git配置文件config


git 配置文件config

結(jié)語


目前就整理了些常用的命令,足夠?qū)Ω镀匠5墓ぷ髁说笕蓿绻蠹疫€想讀讀Git原理的話闷营,建議看看原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000,里面講的特別全知市。

iOS技術(shù)交流:566912706

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末傻盟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嫂丙,更是在濱河造成了極大的恐慌娘赴,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跟啤,死亡現(xiàn)場離奇詭異诽表,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)隅肥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門竿奏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腥放,你說我怎么就攤上這事涩蜘〔崃遥” “怎么了茬末?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵变姨,是天一觀的道長。 經(jīng)常有香客問我种柑,道長岗仑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任聚请,我火速辦了婚禮荠雕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己舞虱,他們只是感情好欢际,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布母市。 她就那樣靜靜地躺著矾兜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪患久。 梳的紋絲不亂的頭發(fā)上椅寺,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天,我揣著相機(jī)與錄音蒋失,去河邊找鬼返帕。 笑死,一個胖子當(dāng)著我的面吹牛篙挽,可吹牛的內(nèi)容都是我干的荆萤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼铣卡,長吁一口氣:“原來是場噩夢啊……” “哼链韭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起煮落,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤敞峭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蝉仇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旋讹,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年轿衔,在試婚紗的時候發(fā)現(xiàn)自己被綠了沉迹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡害驹,死狀恐怖胚股,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情裙秋,我是刑警寧澤琅拌,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站摘刑,受9級特大地震影響进宝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枷恕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一党晋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦未玻、人聲如沸灾而。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旁趟。三九已至,卻和暖如春庇绽,著一層夾襖步出監(jiān)牢的瞬間锡搜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工瞧掺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留耕餐,地道東北人。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓辟狈,卻偏偏與公主長得像肠缔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子哼转,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容