一個人寫程序,版本控制用svn還是git?
平時工作需要,會寫些小程序,長則幾百行,短則幾十行,用啥版本控制軟體比較好呢?理由?
既然是工作需要,那一般都是非公開項目了。非公開
- @vczh 輪子哥推薦的tfs http://tfs.visualstudio.com/ git/tfs
- https://bitbucket.org/ 可以免費創建私人項目(可多人協作) git
- Create, review and deploy code together gitlab多謝 @oldsharp 提醒 git
公開的
- CodePlex - Open Source Project Hosting(微軟出品) svn
- GitHub · Build software better, together. 廣大碼農都在用 git
git的客戶端的話,推薦使用Free Mercurial and Git Client for Windows and Mac,十分適合輕量級使用
http://tfs.visualstudio.com,可以選TFS或git,都有private repo,而且只有你一個人用的話,永遠不用錢。
直接git不用服務端。需要備份的時候直接push
Git吧,如果要服務端,可以用Github,管理個人項目
Git
------------------編輯的分割線另外雖然大家推薦的gitosys和gitlab很好用,但是最簡單的架遠端repo的方法是你在遠程機器上直接git init --bare然後你本地把對方的ssh地址添加到remote里就能用了。那些建伺服器的工具主要是為了多人合作的,一個人用的話沒有什麼比git init --bare更省事的了。git 可以掛私人項目到oschina,很好的配套issues wiki MD支持等,還可以配套團隊管理工具作為自己一些思路的管理擴展。怕麻煩直接gitstack本地搭建一個伺服器,非常方便。 感覺svn更適合無分支的管理,自己的東西 隨便幾個bug都做分支出來單獨解決,能形成很好的知識庫,方便以後查詢。
git
1. 功能更強大, 如果只是簡單使用, 學會 git add, git commit兩個命令就好了, 如果還要遠程備份就是git push, 使用github的話每一步都有說明
2. 不一定非要服務端3. 服務端環境也很好搭建, gitosis, 如果不嫌麻煩搭建個gitlab都可以, 如果代碼可以公開github就好了4. 還有簡單使用直接命令行就好了, 當然可視化工具也很多, 官網就有介紹5. 網上資料多個人覺得,只是一個人用的話 git 和 svn 沒有太大區別(git 最大好處不就在於各種非線性分支各種分散式管理么?一個人的話只要不是精分都不會特別糾結這些問題)。感覺 svn 在 windows 平台下更好用一些,但熟悉了其實都不是問題。擔心 github 開源問題的話還有 bitbucket 支持 private git repo,也可以本地建 git. 所以真的是喜歡哪個用熟悉了就好……
如果為將來可能的合作需求等考慮的話,我個人比較建議用 git, 在 bitbucket 上。五人以內的 private repo 免費,而且隨時可以把 repo 轉成公開的。肯定git啊
喜歡 Mercurial,TortoiseHG 是真的好用。 就是沒幾個託管網站……
對啊。一個人寫程序。沒有人替你打工。沒有人替你幹活。那你打算從 github 上面 clone 了代碼下來以後還要自己往 svn 里導啊?
我去,SVN怎麼你們了?看不起SVN么?http://code.taobao.org不是可以創建私人項目么?不相信阿里雲么?
用git吧 remote repo 推薦用bitbucket 這樣就不用花錢買private repo了,而且和Jira 等issue tracking整合的非常好.
個人的話,建議用git或者Mercurial(Hg),git首推,支持的公共託管不少。
git不用急需部署代碼託管伺服器,因此可以離線操作。分支處理效率好。相對於SVN的話。SVN太重了,而且需要部署中心伺服器,是能提供詳細的許可權管理,但是這是企業才需要的,個人反而並不迫切。
git的公共託管站有不少,很多人都有介紹的,如:Github,最著名的Git公共託管(和程序猿社交)網站bitbuckit,有提供免費私有Repo(五人以內操作),支持Mercurial,如果不想將自己的劣作公布出去的話,bitbuckit的私有庫可以考慮。如果你不需要上傳,則拿個git管理,git有個好處是不需要有服務端。
如果你需要上傳,而且經常涉及超大文件,則使用svn管理。
公司用啥,你就用啥。全公司的代碼都放到集中的倉庫存儲。
你寫了程序,要及時交付,給後來人維護才是最重要的是吧?
所以無所謂GIT還是SVN,能完成版本交付和持續維護才是重中之重。
代碼伺服器放遠程的用git好點。git可以先本地先commit了。再需要的時候才PUSH到遠程。如果伺服器是本地的可以SVNl。只要提交就可以。不用push的動作。省點事。
git,這個東西可以提升逼格; SVN好上手,就是分分鐘上手的事兒
Git,國內有不錯的託管啊Git@OSC代碼託管,我的個人項目都在上面
已刪除
推薦閱讀:
※用 Git 一定要用命令行嗎?用命令行一定高貴嗎?
※git合併分支,為什麼會比svn容易?
※git: 為什麼 pull request 不叫 push request ?
※github上有哪些好的C開源項目?
※git本地倉庫關聯多個remote,怎麼用本地一個分支向不同remote不同分支推送代碼?
TAG:程序員 | 編程 | Git | SVNSubversion | 版本控制 |