Git的簡(jiǎn)單使用

創(chuàng)建一個(gè)空目錄

?$ mkdir git??

?$ cd git

??$ pwd

把這個(gè)目錄初始化為Git可以管理的倉(cāng)庫(kù)

?$ git init

在目錄下創(chuàng)建一個(gè)readme.rtf文件悬赏,把文件添加提交到倉(cāng)庫(kù)

?$ git add readme.rtf

?$ git commit -m “wrote a read file”

展示倉(cāng)庫(kù)當(dāng)前的狀態(tài)

?$ git status

文件被修改后,查看修改了什么內(nèi)容

?$ git diff

查看提交的歷史記錄

?$ git log

縮略展示提交的歷史記錄

?$ git log- -pretty=oneline

回退到上一個(gè)版本

?$ git reset - -hard HEAD^

回退到上上個(gè)版本

?$ git reset - -hard HEAD^^

回退到前100個(gè)版本

?$ git reset- -hard HEAD~100

回退到某個(gè)版本

?$ git reset- -hard 123456(版本號(hào),可以不寫(xiě)全)

找到輸入過(guò)的命令

?$ git reflog

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

?$ git diff HEAD - - readme.rtf

丟棄工作區(qū)的修改

?$ git checkout - - readme.rtf

撤銷(xiāo)暫存區(qū)的修改烙常,放回工作區(qū)

?$ git reset HEAD readme.rtf

刪除某個(gè)文件

?$ rm test.rtf

從版本庫(kù)恢復(fù)刪掉的文件

?$ git checkout - - test.rtf

從版本庫(kù)刪除某個(gè)文件

?$ git rm test.rtf

??$ git commit -m “remove test.rtf”

創(chuàng)建SSH Key

?$ssh-keygen -t rsa -C“xxxxxxxx@163.com”

?id_rsa是私鑰锈玉,不能泄露出去掀泳,id_rsa.pub是公鑰懒熙,可以放心地告訴任何人

把本地倉(cāng)庫(kù)的內(nèi)容推送到GitHub的倉(cāng)庫(kù)

?$git remote add origin git@github.com:xxxxxxxxx/learngit.git

?$ git push -u origin master (第一次加-u參數(shù))

把本地倉(cāng)庫(kù)提交到服務(wù)器

?$ git push origin master

把服務(wù)器的倉(cāng)庫(kù)克隆到本地

?$git clone git@github.com:xxxxxxxxx/gitskills.git

?$ git clonehttps://github.com/xxxxxxxxx/gitskills.git

創(chuàng)建一個(gè)dev分支罪针,并切換到dev分支

?$ git checkout -b dev

-b表示創(chuàng)建并切換蕾殴,等價(jià)于

?$ git branch dev

?$ git checkout dev

查看當(dāng)前分支

?$ git branch

把dev分支合并到當(dāng)前分支

?$ git merge dev

刪除dev分支

?$ git branch -d dev

查看分支合并情況

?$git log - -graph - -pretty=oneline - -abbrev-commit

以普通模式合并笑撞,保留分支的信息

?$git merge --no-ff -m"merge with no-ff"dev

保存當(dāng)前工作現(xiàn)場(chǎng),以后可以恢復(fù)繼續(xù)工作

?$ git stash

顯示存儲(chǔ)的工作現(xiàn)場(chǎng)

?$ git stash list

恢復(fù)工作現(xiàn)場(chǎng)钓觉,并且不刪除存儲(chǔ)的工作現(xiàn)場(chǎng)

?$ git stash apply

刪除存儲(chǔ)的工作現(xiàn)場(chǎng)

?$ git stash drop

恢復(fù)工作現(xiàn)場(chǎng)茴肥,并刪掉存儲(chǔ)的工作現(xiàn)場(chǎng)

?$ git stash pop

強(qiáng)行刪除一個(gè)沒(méi)有被合并的分支

?$git branch -D

查看遠(yuǎn)程倉(cāng)庫(kù)的信息

?$ git remote

查看遠(yuǎn)程倉(cāng)庫(kù)更詳細(xì)的信息

?$? git remote -v

推送到服務(wù)器的dev分支

?$ git push origin dev

獲取服務(wù)器最新更改

?$ git pull

在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支

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

創(chuàng)建本地分支和遠(yuǎn)程分支的鏈接關(guān)系

?$ git branch --set-upstream branch-name origin/branch-name

在Git中打一個(gè)標(biāo)簽,首先切換到需要打標(biāo)簽的分支上

?$ git tag v1.0

在對(duì)應(yīng)的歷史提交上打標(biāo)簽

?$ git tag v0.9 123456(提交的id)

查看標(biāo)簽信息

?$ git show v0.9

指定標(biāo)簽信息

?$ git tag -a -m “abcd…”

用PGP簽名標(biāo)簽

?$ git tag -s -m “abcd…”

刪除標(biāo)簽

?$ git tag -d v0.1

推送標(biāo)簽到服務(wù)器

?$ git push origin v1.0

推送所有未推送的標(biāo)簽到服務(wù)器

?$ git push origin - - tags

刪除遠(yuǎn)程的標(biāo)簽荡灾,先刪除本地瓤狐,然后從遠(yuǎn)程刪除

?$ git push origin :refs/tags/v0.9

忽略倉(cāng)庫(kù)里某些文件,讓其不參與提交卧晓,可編寫(xiě).gitignore文件芬首,然后輸入要忽略的文件名

配置別名,比如st表示status逼裆,co表示checkout郁稍,ci表示commit,br表示branch

?$ git config - -globalalias.ststatus

?$ git config - -globalalias.cocheckout

?$ git config - -globalalias.cicommit

?$ git config - -globalalias.brbranch

搭建Git服務(wù)器

首先準(zhǔn)備一臺(tái)運(yùn)行Linux的機(jī)器

??1.安裝git

?$ sudoapt-getinstall git

?2.創(chuàng)建一個(gè)git用戶(hù)

????$ sudoadduser git

???3.創(chuàng)建證書(shū)登錄

???手機(jī)用戶(hù)的id_rsa.pub文件胜宇,把所有公鑰導(dǎo)入到/home/git/.ssh/authorized_keys文件里耀怜,一行一個(gè)

???4.初始化Git倉(cāng)庫(kù)

??先選定一個(gè)目錄作為Git倉(cāng)庫(kù),假定是/srv/sample.git桐愉,在/srv目錄下輸入命令:

??$ sudogit init --bare sample.git

??Git就會(huì)創(chuàng)建一個(gè)裸倉(cāng)庫(kù)财破,裸倉(cāng)庫(kù)沒(méi)有工作區(qū),因?yàn)榉?wù)器上的Git倉(cāng)庫(kù)純粹是為了共享从诲,所以不讓用戶(hù)直接登錄到服務(wù)器上去改工作區(qū)左痢,并且服務(wù)器上的Git倉(cāng)庫(kù)通常都以.git結(jié)尾。然后系洛,把owner改為git:

??$ sudochown -R git:git sample.git

?5.禁用shell登錄

?出于安全考慮俊性,第二步創(chuàng)建的git用戶(hù)不允許登錄shell,這可以通過(guò)編輯/etc/passwd文件完成描扯。找到類(lèi)似下面的一行:

?git:x:1001:1001:,,,:/home/git:/bin/bash

?改為:

?git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

?這樣定页,git用戶(hù)可以正常通過(guò)ssh使用git,但無(wú)法登錄shell绽诚,因?yàn)槲覀優(yōu)間it用戶(hù)指定的git-shell每次一登錄就自動(dòng)退出

?6.克隆遠(yuǎn)程倉(cāng)庫(kù)

??$git clone git@server:/srv/sample.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末典徊,一起剝皮案震驚了整個(gè)濱河市杭煎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌卒落,老刑警劉巖羡铲,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異儡毕,居然都是意外死亡犀勒,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)妥曲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贾费,“玉大人,你說(shuō)我怎么就攤上這事檐盟」酉簦” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵葵萎,是天一觀的道長(zhǎng)导犹。 經(jīng)常有香客問(wèn)我,道長(zhǎng)羡忘,這世上最難降的妖魔是什么谎痢? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮卷雕,結(jié)果婚禮上节猿,老公的妹妹穿的比我還像新娘。我一直安慰自己漫雕,他們只是感情好滨嘱,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著浸间,像睡著了一般太雨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上魁蒜,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天囊扳,我揣著相機(jī)與錄音,去河邊找鬼兜看。 笑死锥咸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铣减。 我是一名探鬼主播她君,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼脚作,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼葫哗!你這毒婦竟也來(lái)了缔刹?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤劣针,失蹤者是張志新(化名)和其女友劉穎校镐,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體捺典,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸟廓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了襟己。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片引谜。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖擎浴,靈堂內(nèi)的尸體忽然破棺而出员咽,到底是詐尸還是另有隱情,我是刑警寧澤贮预,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布贝室,位于F島的核電站,受9級(jí)特大地震影響仿吞,放射性物質(zhì)發(fā)生泄漏滑频。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一唤冈、第九天 我趴在偏房一處隱蔽的房頂上張望峡迷。 院中可真熱鬧,春花似錦你虹、人聲如沸凉当。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)看杭。三九已至,卻和暖如春挟伙,著一層夾襖步出監(jiān)牢的瞬間楼雹,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工尖阔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贮缅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓介却,卻偏偏與公主長(zhǎng)得像谴供,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子齿坷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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

  • 前提: SVN屬于集中式管理:需要依賴(lài)網(wǎng)絡(luò)以及“中央管理庫(kù)”Git屬于分布式管理:不需要網(wǎng)絡(luò)桂肌,任何人本地都是一個(gè)完...
    Eddiegooo閱讀 460評(píng)論 2 2
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git数焊,從https:/...
    落魂灬閱讀 12,652評(píng)論 4 54
  • 1.設(shè)置 初次使用需要設(shè)置姓名和郵箱git config --global user.name "git用戶(hù)名"g...
    jrg陳咪咪sunny閱讀 755評(píng)論 0 1
  • 我的心里話,請(qǐng)你聽(tīng)一聽(tīng)崎场! 家庭無(wú)愛(ài)佩耳,就是牢籠。有愛(ài)谭跨,就是港灣干厚。 金錢(qián)花了,才有價(jià)值螃宙。存了蛮瞄,就是數(shù)字。 人生用心谆扎,才...
    葉偉鋒閱讀 219評(píng)論 0 0
  • 本想殺盡天下負(fù)心者裕坊,卻害怕拔刀相見(jiàn)時(shí)他已不該殺。一個(gè)情緒很多的平凡人燕酷,爭(zhēng)強(qiáng)好勝籍凝,只看得起最厲害的人,總認(rèn)為自己擁有...
    爛人君子閱讀 433評(píng)論 0 1