Git

Git


開始大量寫代碼做自己的項目遥赚、實現(xiàn)想法后畦徘,越來越覺得需要一個好的版本管理器來管理自己的代碼。Git是一個大家都推薦的版本管理器旬陡,所以我也開始自己摸索拓颓。在別人那里看了學(xué)習(xí)了命令后,在用的過程中總是會忘記描孟。所以我在這里把自己用過的命令總結(jié)一下驶睦,在自己忘記后好回來復(fù)習(xí)。

Git 連接 Github

1匿醒、 配置本機(jī)git

$ git config --global user.name "name"
$ git config --global user.email "your-email"

2场航、 生成密鑰

$ ssh-keygen -t rsa -C "your-email"

3竞穷、 提交密鑰

$ /home/linux/.ssh/id_rsa.pub #Linux 系統(tǒng)密鑰位置
$ /c/User/admin/.ssh/id_rsa.pub #Windows 系統(tǒng)密鑰位置

復(fù)制密鑰笨触,到 github網(wǎng)頁中登錄自己的賬號廷臼,然后在 setting 里找到 SSH KEY 国葬,新建 SSH KEY 將復(fù)制的密鑰加入

4于颖、 檢驗是否鏈接上了github

$ ssh git@github.com
//正常情況下国章,回顯如下
PTY allocation request failed on channel 0
Hi plinx! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

如果返回錯誤

$ ssh: connect to host ssh.github.com port 22: Connection timed out

那么

$ cd ~/.ssh
$ touch config

.ssh 目錄下創(chuàng)建一個 config 文件愿阐,輸入如下內(nèi)容:

Host github.com
User "your-email"
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

再進(jìn)行測試是否鏈接上github.com

$ ssh -T git@github.com

Git 命令

  • 克隆項目

     $ git clone https://github.com/program owner/program.git
    
  • 提交更改

     $ git add file  # file為你要提交到暫存區(qū)的文件
     $ git commit -m "note" # 從暫存區(qū)提交到版本庫才写,并添加操作 注釋 note
     $ git diff HEAD -- file #查看工作區(qū)和版本庫里最新版本的區(qū)別 
    
  • 撤銷修改

     $ git checkout -- file
    
  • 關(guān)聯(lián)遠(yuǎn)程倉庫(本地庫可以和多個遠(yuǎn)程庫關(guān)聯(lián))

      $ git remote #查看當(dāng)前配置有哪些遠(yuǎn)程倉庫竹挡,列出已經(jīng)存在的遠(yuǎn)程分支
      $ git remote add learngit   git@github.com:michaelliao/learngit.git  # 關(guān)聯(lián)github
      $ git remote add learngit git@gitee.com:michaelliao/program.git   # 關(guān)聯(lián)碼云
      $ git remote -v # 查看遠(yuǎn)程庫信息
      $ git remote rm learngit # 刪除已關(guān)聯(lián)的遠(yuǎn)程庫 github
    
  • 分支

    首先镀娶,創(chuàng)建 laptop 分支,然后切換到該分支

     $ git branch laptop
     $ git checkout laptop   #當(dāng)然揪罕,也可以用一行命令代替  git checkout -b laptop
    

    然后梯码,在分支 dev 下進(jìn)行各種文件操作宝泵,將操作提交到版本庫,分支 dev 工作完成后切換回 master 分支

     $git checkout master
    

    現(xiàn)在轩娶,將分支 dev 工作合并到 master 分支:

     git merge dev # git merge 命令用于合并指定分支到當(dāng)前分支
    

    合并完成后儿奶,就可以放心刪除 dev 分支了:

     git branch -d dev
    

    刪除后,查看 branch, 就只剩下 master 分支了:

     $ git branch
    

    git log --graph 可以查看分支合并圖

  • Bug 分支

    當(dāng)程序遇到bug時鳄抒,可以通過一個新的臨時分支來修復(fù)廓握,修復(fù)后,合并分支嘁酿,然后將臨時分支刪除隙券。

    比如,你臨時接到一個立即修復(fù)代號為101的bug任務(wù)闹司,你想創(chuàng)建一個分支 issue-101 來修復(fù)它娱仔, 但你手頭正在 dev 分支上進(jìn)行的工作還沒提交,而且工作只進(jìn)行到一半游桩。

    這時牲迫, git stash 可以把當(dāng)前工作現(xiàn)場儲藏起來,等以后恢復(fù)現(xiàn)場后繼續(xù)工作

    回到 dev 后借卧,用 git stash list 命令查看工作現(xiàn)場盹憎。

    git stash apply stash@{n} #對于多次stash,恢復(fù)指定的工作現(xiàn)場铐刘,stash并不刪除陪每, 可用 git stash drop 刪除
    git stash pop #恢復(fù)現(xiàn)場,同時刪除stash內(nèi)容

使用碼云 gitee.com

Github 上提供了 免費(fèi)的 公有 Git 倉庫镰吵,私有庫則需付費(fèi)檩禾。國內(nèi) Git 托管服務(wù) 碼云 則提供了免費(fèi)的 Git 倉庫,而且還包含免費(fèi)私有庫疤祭。 此外盼产,還集成了代碼質(zhì)量檢測,項目演示等功能勺馆。對于團(tuán)隊協(xié)作開發(fā)戏售,碼云還提供了項目管理、代碼托管草穆、文檔管理的服務(wù)灌灾,5人以下小團(tuán)隊免費(fèi)。

  • 遠(yuǎn)程庫分支管理

    對于一個項目開發(fā)续挟,遠(yuǎn)程庫可以創(chuàng)建兩個分支紧卒,其中包括一個 master 分支 和 一個測試分支,master 分支用于發(fā)布穩(wěn)定版本诗祸,所以最好給予 protect branch 保護(hù)分支權(quán)限跑芳,項目管理員來推送穩(wěn)定版。 測試分支用于正常開發(fā)直颅,項目成員均在該分支上進(jìn)行開發(fā)博个,待測試通過后由管理員將該分支 merge 進(jìn) master 分支。

    git branch -a 可以查看本地及遠(yuǎn)程分支功偿。比如遠(yuǎn)程庫的測試分支名為 test盆佣,那么項目成員從遠(yuǎn)程庫拉取代碼:

     $ git pull <local branch name> test
    

    工作完成后進(jìn)行推送

     $ git push <local branch name> tests
    

Git remote 用法

  • git rename <old> <new>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市械荷,隨后出現(xiàn)的幾起案子共耍,更是在濱河造成了極大的恐慌,老刑警劉巖吨瞎,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痹兜,死亡現(xiàn)場離奇詭異,居然都是意外死亡颤诀,警方通過查閱死者的電腦和手機(jī)字旭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來崖叫,“玉大人遗淳,你說我怎么就攤上這事⌒目” “怎么了屈暗?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長脂男。 經(jīng)常有香客問我恐锦,道長,這世上最難降的妖魔是什么疆液? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任一铅,我火速辦了婚禮,結(jié)果婚禮上堕油,老公的妹妹穿的比我還像新娘潘飘。我一直安慰自己,他們只是感情好掉缺,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布卜录。 她就那樣靜靜地躺著,像睡著了一般眶明。 火紅的嫁衣襯著肌膚如雪艰毒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天搜囱,我揣著相機(jī)與錄音丑瞧,去河邊找鬼柑土。 笑死,一個胖子當(dāng)著我的面吹牛绊汹,可吹牛的內(nèi)容都是我干的稽屏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼西乖,長吁一口氣:“原來是場噩夢啊……” “哼狐榔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起获雕,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤薄腻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后届案,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體庵楷,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年萝玷,在試婚紗的時候發(fā)現(xiàn)自己被綠了嫁乘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡球碉,死狀恐怖蜓斧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情睁冬,我是刑警寧澤挎春,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站豆拨,受9級特大地震影響直奋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜施禾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一脚线、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧弥搞,春花似錦邮绿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至粤铭,卻和暖如春挖胃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工酱鸭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吗垮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓凛辣,卻偏偏與公主長得像抱既,于是被迫代替她去往敵國和親职烧。 傳聞我的和親對象是個殘疾皇子扁誓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評論 2 359

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

  • GIT分布式版本控制系統(tǒng)最佳實踐 這篇文章來自于老男孩教育高級架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,423評論 4 36
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,665評論 9 163
  • 身在王府多日蚀之,每日里除了晚膳時和晚間睡覺時才看見王爺施施然歸來的身影蝗敢。早起時,身邊紗帳低垂足删,衾涼人空寿谴,卻不見他的人...
    穿堂而過的流影閱讀 136評論 5 2
  • 心湖,是一顆蓄滿淡水的高原湖泊在炫麗的陽光下波光粼粼失受,璀璨奪目讶泰。它在連綿起伏的群山之中積蓄著偉大的力量,一陣風(fēng)兒吹...
    江邊漂石閱讀 823評論 0 0
  • 整理相冊圖片拂到,忽然看到哥哥的圖片痪署,眼淚忽然如斷線的珠子,再也收不回兄旬。我以為我已經(jīng)走出來了狼犯,我以為我已經(jīng)不會難過了,...
    未知知未閱讀 931評論 0 1