程序員愛(ài)上的工具(一)---“Git”

GIT

Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng)由捎,用于敏捷高效地處理任何或小或大的項(xiàng)目厕怜。

GIT

Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件甚疟,Git 采用了分布式版本庫(kù)的方式,不必服務(wù)器端軟件支持。

Windows 平臺(tái)上安裝

  • 安裝Git.exe文件

  • Git 配置
    git config :用來(lái)配置或讀取相應(yīng)的工作環(huán)境變量哩至。
    環(huán)境變量,決定了 Git 的具體工作方式和行為蜜自。

  • /etc/gitconfig 文件:系統(tǒng)中對(duì)所有用戶(hù)都普遍適用的配置菩貌。使用 git config 時(shí)--system 選項(xiàng);

  • ~/.gitconfig 文件:用戶(hù)目錄下文件只適用于該用戶(hù)的配置重荠。使用 git config 時(shí) --global 選項(xiàng)箭阶;

  • .gitconfig 文件。主目錄即 $HOME 變量指定的目錄;

  • 查看配置信息
    要檢查已有的配置信息仇参,使用 git config --list 命令:
    $ git config --list

Git 工作流程

Git 的工作流程
1.克隆 Git 資源作為工作目錄嘹叫。
2.在資源上添加或修改文件。
3.如果修改诈乒,更新資源罩扇。
4.在提交前查看修改。
5.提交修改怕磨。
6.修改完成后喂饥,如果錯(cuò)誤,撤回提交并再次修改并提交肠鲫。

git流程

Git 工作區(qū)员帮、暫存區(qū)和版本庫(kù)

Git 工作區(qū)、暫存區(qū)和版本庫(kù)概念

  • 工作區(qū):電腦里能看到的目錄滩届;
  • 暫存區(qū):存放在 ".git目錄下" 下的index文件(.git/index)中集侯;
  • 版本庫(kù):工作區(qū)有一個(gè)隱藏目錄.git,是Git的版本庫(kù)帜消。
關(guān)系圖

Git 創(chuàng)建倉(cāng)庫(kù)

創(chuàng)建Git 倉(cāng)庫(kù)

  • git init
    git init 命令來(lái)初始化Git 倉(cāng)庫(kù)棠枉;
  • git add
    git add 命令對(duì)文件進(jìn)行跟蹤;
    $ git add README
    $ git commit -m 'XXXX'
  • git clone
    git clone 命令從現(xiàn)有 Git 倉(cāng)庫(kù)中拷貝項(xiàng)目泡挺;

Git 基本操作

  • 獲取與創(chuàng)建項(xiàng)目命令:
    git init

  • 克隆那個(gè)項(xiàng)目命令:
    git clone [url]

  • 基本快照
    git add
    git add 命令將文件添加到緩存辈讶;
    git status 命令查看項(xiàng)目的當(dāng)前狀態(tài);
    git diff 來(lái)查看執(zhí)行 git status 的結(jié)果的詳細(xì)信息娄猫;
    git rm 會(huì)將條目從緩存區(qū)中移除贱除;

Git 分支管理

分支管理

  • 創(chuàng)建分支命令:
    git branch (branchname)

  • 切換分支命令:
    git checkout (branchname)

  • 合并分支命令:
    git merge

  • 列出分支命令:
    git branch

  • 刪除分支命令:
    git branch -d (branchname)

Git 查看提交歷史

使用 git log 查看提交歷史
$ git log

查找指定用戶(hù)的提交日志命令:
git log --author
要指定日期:
--since 和 --before;
--until 和 --after媳溺。

Git 標(biāo)簽

使用 git tag 打上標(biāo)簽
$ git tag -a XXXX :打上標(biāo)簽月幌;
$ git log --decorate :查看標(biāo)簽;
$ git tag -a XXXX 85fc7e7:補(bǔ)打標(biāo)簽悬蔽;

Git 遠(yuǎn)程倉(cāng)庫(kù)(Github)

配置使用Github 作為遠(yuǎn)程倉(cāng)庫(kù)

  • 添加遠(yuǎn)程庫(kù)
    $ git remote add [shortname] [url]·

  • 查看當(dāng)前的遠(yuǎn)程庫(kù)
    要查看當(dāng)前配置遠(yuǎn)程倉(cāng)庫(kù)命令:
    git remote

  • 提取遠(yuǎn)程倉(cāng)庫(kù)
    1扯躺、從遠(yuǎn)程倉(cāng)庫(kù)下載新分支與數(shù)據(jù):
    $ git fetch
    2、從遠(yuǎn)端倉(cāng)庫(kù)提取數(shù)據(jù)并嘗試合并到當(dāng)前分支:
    $ git pull

  • 推送遠(yuǎn)程倉(cāng)庫(kù)
    推送數(shù)據(jù)到遠(yuǎn)端倉(cāng)庫(kù)命令:
    $ git push [alias] [branch]

  • 刪除遠(yuǎn)程倉(cāng)庫(kù)
    刪除遠(yuǎn)程倉(cāng)庫(kù)命令:
    $ git remote rm [別名]

Git 服務(wù)器搭建

搭建一臺(tái)Git服務(wù)器作為私有倉(cāng)庫(kù)使用

  • 1蝎困、安裝Git
    $ install git
    創(chuàng)建一個(gè)git用戶(hù)組和用戶(hù)录语,用來(lái)運(yùn)行g(shù)it服務(wù):
    $ groupadd git
    $ adduser git -g git

  • 2、創(chuàng)建證書(shū)登錄
    收集所需要登錄的用戶(hù)的公鑰禾乘,公鑰位于id_rsa.pub文件澎埠,把公鑰導(dǎo)入到/home/git/.ssh/keys文件里。

  • 3始藕、初始化Git倉(cāng)庫(kù)
    選定目錄作為Git倉(cāng)庫(kù)蒲稳。
    $ git init --bare runoob.git

  • 4氮趋、克隆倉(cāng)庫(kù)
    $ git clone

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市弟塞,隨后出現(xiàn)的幾起案子凭峡,更是在濱河造成了極大的恐慌,老刑警劉巖决记,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異倍踪,居然都是意外死亡系宫,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)建车,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)扩借,“玉大人,你說(shuō)我怎么就攤上這事缤至〕弊铮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵领斥,是天一觀的道長(zhǎng)嫉到。 經(jīng)常有香客問(wèn)我,道長(zhǎng)月洛,這世上最難降的妖魔是什么何恶? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮嚼黔,結(jié)果婚禮上细层,老公的妹妹穿的比我還像新娘。我一直安慰自己唬涧,他們只是感情好疫赎,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著碎节,像睡著了一般捧搞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钓株,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天实牡,我揣著相機(jī)與錄音,去河邊找鬼轴合。 笑死创坞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的受葛。 我是一名探鬼主播题涨,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼偎谁,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了纲堵?” 一聲冷哼從身側(cè)響起婆廊,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤肮塞,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體扶平,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年舒岸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抚太。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡营曼,死狀恐怖乒验,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒂阱,我是刑警寧澤锻全,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站录煤,受9級(jí)特大地震影響鳄厌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辐赞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一部翘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧响委,春花似錦新思、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至邀窃,卻和暖如春荸哟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瞬捕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工鞍历, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肪虎。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓劣砍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親扇救。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刑枝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git香嗓,從https:/...
    落魂灬閱讀 12,650評(píng)論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,634評(píng)論 9 163
  • 7月7日上午,粵東西北地區(qū)有線電視小片網(wǎng)整治工作現(xiàn)場(chǎng)會(huì)在海豐縣召開(kāi)装畅,深入學(xué)習(xí)貫徹落實(shí)中央和省委省政府關(guān)于推動(dòng)有線電...
    YXX0660閱讀 1,742評(píng)論 1 0
  • 2017年4月靠娱,東坡乳豬駕車(chē)至漢壽,見(jiàn)我一人掠兄,并攜其男友像云。其五日下午處完瑣事,徑至漢壽蚂夕,車(chē)程為一小時(shí)苫费。其子出發(fā)之前...
    水色森森閱讀 294評(píng)論 0 3
  • 爆米花 優(yōu)優(yōu)很愛(ài)吃玉米。媽媽買(mǎi)菜時(shí)双抽,他要求買(mǎi)一個(gè)真空包裝的玉米,回家后優(yōu)優(yōu)讓媽媽煮熟玉米闲礼,優(yōu)優(yōu)自己搬來(lái)一個(gè)板凳...
    喬anny閱讀 260評(píng)論 0 0