2010-11-30 51 views
5

在Mac上使用Git感覺像是一個巨大的痛苦,Git文檔只是huuuuuuuuge。也許有人有一個絕密的博客文章,甚至是屏幕視頻分享,這相當簡單和快速解釋的基礎知識?在Mac上開始使用Git + GitX和Xcode項目的快速指南?

  • 創建存儲庫。巨大的痛苦。

  • 使用GitX:Pain打開該存儲庫。

  • 在Xcode中工作,然後提交更改:不知道,也許很痛苦。

  • 使用自己的mac將存儲庫克隆到其他一些開發人員,以便他們可以開始在項目上進行協作:哦,我的頭部爆炸了......需要醫生!

  • 以某種方式合併這些克隆的存儲庫,因此每個人都可以通過其他人的更改獲得更新的存儲庫:紅色警報!

現在我覺得我需要一個月的時間來訓練它。如果有人能指出一些真正有用的資源,而這些資源幾天不會強迫我閱讀,或者是否有一本解釋這種瘋狂的偉大而薄弱的書,那麼它會很高興嗎?

+2

如果你描述了創建一個存儲庫並在GitX(基本上是單個命令)中打開它作爲一個痛苦...我不知道你期望的教程修復。 – Cascabel 2010-11-30 19:05:27

回答

4

Git絕對是巨大的,你當然可以花費當月的時間來學習它的過程,但是你可以堅持一些基本的概念,最終得到一個非常棒的工作流程。我使用命令行,因爲它允許您堅持這些基本知識,並在需要時擴展出來。這些基本命令是「pull」,「push」,「init」,「commit -am」消息「」。稍後,您可以通過gitref.org瞭解有關分支機構和重組的信息。

作爲一個mac xcode + git用戶;我絕對推薦DTerm讓生活變得輕鬆。一個鍵盤命令會彈出一個浮動終端窗口,CDed到當前活動的文件的目錄。在XCode中,這意味着您將立即進入git控制的目錄。

所以,我的工作流程 -

  1. 使用 「git的初始化」 在終端創建一個倉庫
  2. 創建的github倉庫
  3. 後續github上說明兩個
  4. 關聯在工作時我的項目,按Shift-Command-Enter調出浮動終端窗口
  5. 輸入「git commit -am」提交信息「提交所有當前更改
  6. 相同的密鑰組合加上「混帳拉」或「混帳推」從代碼庫的變化拉動或推動修改代碼庫,分別爲

我發現,在命令行中允許使用Git更簡單的工作關係比GitX,特別是如果你使用類似DTerm的東西。

如需瞭解更多信息,請查看gitref.org.祝你好運!

2

啓動終端窗口。

創建一個存儲庫:

cd project-dir 
git init 

打開倉庫中GitX:

cd project-dir 
gitx 

提交更改:

git status 
git add . # or individual files 
git commit 

(這是一個好主意,建立從.gitignore文件開頭)。

請閱讀Pro Git書或查看git-scm.com的一些視頻教程以快速入門。 Linus的主要內容是對實施的描述以及對其他VCS的咆哮;第二個視頻真的很有用。

1

我在OSX下使用了git約6個月(儘管沒有Xcode)。這是一種享受!但是,是的,這是一個痛苦的經歷,有時候學習曲線陡峭,尤其是當項目中的其他人都是Windows開發人員(擁有更多的git客戶端選擇)和反OSX(不願或無法幫助)時。但從長遠來看,這是非常值得的。這是可行的!一旦你掌握了基礎知識,你會發現它比Subversion要好10倍。合併就是工作。衝突或多或少成爲過去的事情。

但我的建議,忘記GitX,它是廢話。我開始使用它,很快就意識到它不能做到(或者至少18個月它沒有做到),你無法從命令行輕鬆完成任何事情。它也少了很多。所以,最終你終究會在終端上......這是來自那些通常不喜歡使用終端的人!如果您想要一個體面的前端客戶端,請嘗試Syntevo的SmartGit。一旦我發現我很快就愛上了Git。

也推薦閱讀larsmans提到的Pro Git電子書。

1

瞭解Git的簡單性很難。如果您對其他(集中式)版本控制系統有一些經驗,請嘗試將它們遺忘並理解Git的基本概念(對象,提交,分支,..)。那裏有很多書。我會推薦短(30頁長)Git from bottom up,它是免費的,非常有用。另一種免費的學習材料是gitcastsPragprogpeepcode也有很好的書籍和屏幕錄像。他們不是免費的,但有用。

我在XCode上使用git幾個月,他們一起工作。雖然XCode沒有將git列爲受支持的版本控制系統,但您可以使用命令行中的git。我試圖使用GitX,但從來沒有發現它更有用,然後從命令行混帳。試試看,也許它更適合你的習慣。

對於XCode中我發現這個gitignoregitattributes文件爲我的項目有用:

的.gitignore:

# xcode noise 
build/* 
*.pbxuser 
*.mode1v3 
*.mode2v3 
*.perspective 
*.perspectivev3 

# osx noise 
.DS_Store 
profile 

# other 
.svn 
*.swp 

.gitattributes:*.pbxproj -crlf -diff -merge

+0

不要將* .pbxproj標記爲-diff -merge。 pbxproj文件格式被設計爲明智的可擴展性和可合併性。當您從多個人將文件添加到相同的構建階段或組發生衝突時,請恰當地解決這些衝突。 – 2010-12-03 05:59:43

0

我發現Git Book是一個非常有用的資源。它以簡單的術語解釋了基礎知識,並沒有試圖通過進入所有功能背後的技術推理來使事情過度複雜化。至少這是我從中得到的。