Git的使用方法級相關資料

來源:互聯網
上載者:User

前言:今天剛剛把開發環境配好,真是興奮,開啟Git——clone 修改了代碼 pull push 好像檔案沒有更新成功,頁面沒有變化,囧了,然後我就不停在那邊Pull來Pull去,Push來Push去,結果還是沒有解決問題。終於我發現使用Git管理圖片和代碼真的是完全不一樣,管理圖片會3個就行了,Clone\Pull\Push,但是代碼好像沒那麼簡單。

在園子裡找了一些資料,整理下。

  Git的缺點:漏洞百出的抽象

  Git 包含太多不是抽象的抽象,在定義使用者介面和實現上經常沒有任何區別,這是可以理解的,對一個進階使用者來說他需要瞭解一些功能的具體實現,以掌握各個命令的 微妙之處。但大量的內部細節對初學者來說簡直是噩夢。有這麼一個說法,關於水暖器材和瓷器,但你必須成為一個水暖工才能知道器材如何安裝在瓷器上。

   很多人對我的抱怨予以回應說:你無需使用所有的命令,你可以向 Subversion 一樣來使用 Git。這是狡辯,就好比是告訴一個老奶奶說高速公路並不可怕,她可以在高速路上靠左邊的快車道上以時速 20 公裡爬行,一樣的道理。Git 並沒有提供任何有用的子集,每個命令都會連帶著對其他命令的要求,很簡單的動作經常需要很複雜的動作來撤銷或者改進。

  下面是一個 GitHub 項目維護者的一些善意的建議:

  1. 在分支和 master 上尋找合并的基準: ‘git merge-base master yourbranch’

  2. 假設你已經提交了更改記錄,從對你的提交重新基準化到合并准,然後建立一個新分支

  3. git rebase –onto <basecommit> HEAD~1 HEAD

  4. git checkout -b my-new-branch

  5. 檢出你的 ruggedisation 分支,然後移除提交: ‘git reset –hard HEAD~1′

  6. 合并新的分支到 ruggedisation: ‘git merge my-new-branch’

  7. 檢出 master (‘git checkout master’), 合并新分支 (‘git merge my-new-branch’), 然後檢查合并後的情況,接著移除合并 (‘git reset –hard HEAD~1′).

  8. 提交新的分支 (‘git push origin my-new-branch’) 並記錄 pull 請求

  翻譯:“奶奶,在高速公路上開車很容易的。鬆開離合器,讓轉速超過 6000 轉使車輪打滑,然後進入第一個彎道並上高速公路,看路牌到出口前,使用手刹飄逸轉向出口。

  Git的缺點:簡單任務也要諸多命令

  如果你在開發一個開源項目,你做了一些改變,然後想與其他人分享,你只需要:

  1. 修改代碼

  2. 執行 svn commit

  如果你增加了一些新檔案:

  1. 添加檔案

  2. svn add

  3. svn commit

  如果你的項目託管在 Github 類的網站中,那麼你需要:

  1. Make some changes

  2. git add [not to be confused with svn add]

  3. git commit

  4. git push

  5. 到此為止,你的更改只完成了一半,接下來你需要登入到 Github,尋找你的提交,然後發布一個 “pull request” ,這樣其他人才可以擷取你的改動

  在現實中,Github 的維護者希望你的改動是功能方面的分支,他們會要求你這樣操作:

  1. git checkout master [to make sure each new feature starts from the baseline]

  2. git checkout -b newfeature

  3. Make some changes

  4. git add [not to be confused with svn add]

  5. git commit

  6. git push

  7. 然後登入到 Github,切換到你的新特性分支,發布 “pull request”

  為了將你的更改從你的本地目錄中移到實際的項目資產庫,你需要:add, commit, push, “click pull request”, pull, merge, push.

  下面是一個流程圖向你展示一個典型的開發人員在 Subversion 上要做的工作:

  “Bread and butter” 是與遠程 SVN 資料庫操作的命令和概念。

  然後我們再來看看如果你的項目託管在 Github 上會是怎樣的:

  如果 Git 的強大之處是分支和合并,那麼它的弱點就是讓簡單的任務變得非常複雜。

  翻譯版:我痛恨Git 的 10 個理由   英文版: 10 things I hate about Git)

  其他分享資料

  • 阮一峰:Git分支管理原則
  • GIT和SVN之間的五個基本區別
  • 理解Git的工作流程
  • 更多Git相關新聞
  • Git使用說明圖片版本,點擊查看大圖(圖片來源網路)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.