Windows XP 下如何使用Qt Creator中的Git版本控制功能(轉

2011-08-13 23:56 Windows XP 下如何使用Qt Creator中的Git版本控制功能(轉Qt Creator是針對Qt應用開發平台專門設計的IDE開發工具,集成了很多功能,分別有windows、Linux、Mac版本。對於那些經常使用Qt的開發者,就不多介紹了。下面講講如何在Qt Creator中使用版本控制,Qt Creator中可以選擇Git或是Subversion來進行版本控制,我選擇Git,為什麼?你可以看看這兩篇文章<<活靈活現用Git-基礎篇>>和<<活靈活現用Git-技巧篇>>,如果你早就熟知Git,快走吧。這裡有幾個前提要注意:1 我們是在Windows下,但Git最初是在Linux下誕生的(大神),好在已有熱心的開發者製作了針對Windows的安裝包,目前已經幾個類似的開源項目,都是將Git遷移到Windows來的,這裡有個不錯的,而且是http://git-scm.com/上欽點的,下載地址是msysgit,下載後直接安裝,全部默認,當然如果你不在乎安裝路徑的話,完成後,別忘了設置PATH路徑,加入「Git安裝目錄in」。2 如果你是在本機下或是在公司內部環境中使用Git,具體的環境搭建請上網查閱。這裡我們的模式是使用已有的Git託管服務,然後在本地開發,並同步到託管伺服器上。託管服務很多啦,像SourceForge、Google Code,但好像都是svn的,Git的比較好的有GitHub,註冊後有300M的免費空間,掏錢則可以換得更大的空間和更多的服務,趕快去吧。如果你已經安裝好msysgit並且開通了GitHub的託管服務,就往下繼續吧。3 設置SSH公鑰,注意:這一步的正確配置非常重要,我們至少得有一個SSH公鑰才能連接並操作Github或其他repo點上的項目。打開Git Bash,這裡我們要配置本地與github.com之間的SSH公鑰,首先,請輸入:ssh-keygen -C "你的email地址" -t rsa ,確定回車鍵連續4次,不管中間要求輸入其他東西。該命令將生成一對非對稱的公私密鑰,默認它們被存儲在XP/2003用戶:c:Documents and Settings登陸名.sshVista用戶: c:Users登陸名.ssh該.ssh文件夾下面,密鑰放在id_rsa文件裡面,不用理會它;SSH公鑰放在id_rsa.pub裡面,請用文本編輯器打開它,複製裡面所有的字元。假定此時的你已經註冊了Github用戶,在賬號管理account頁面,有個大大的「SSH Public Keys」欄目,請點擊「add another public key」,Title可空(默認值為email)或者任意,直接黏貼剛才複製的字元在Key文本域裡面,最後點擊Add Key!4 SSH成功創建後,在Github網站上創建一個新的項目,創建新的項目/ Create a New Repository,比如創建一個god的項目,記住你看到的Your Clone URL::ynshisss/god.git ,ynshisss是我的用戶名,「/」後是我的項目名稱「god」。Okay,回到剛才的DOS窗口,我們要設置全局用戶名稱以及Email以方便Git知道你是誰,分別輸入:git config --global user.email 「你的email地址」git config --global user.name 「你的名稱」其實不嚴格來說,這一步可忽略,它並不影響以後你對項目的各種操作行為,只是讓Git記錄是由誰在執行操作。本人愚見認為在多人的團隊開發過程中同一個項目用同一個SSH公鑰的時候可見效果。5 我們先在本地建個Git倉庫用來存放你的項目,在D:下新建名為「God」的文件夾,然後cd到D:God目錄下,鍵入>git init 來系統初始化當前的Git倉庫目錄鍵入>touch readme 用touch命令創建名為readme的文件鍵入>git add readme 把文件readme加入git的版本控制鍵入>git commit –m 『add file readme』提交新版本至git倉庫鍵入>git remote add origin:ynshisss/god.git 在本地為遠程伺服器建立一個名為origin的分支,以後你要提交本地更新到遠程伺服器時,就可以用origin別名替代「:ynshisss/god.git」鍵入>git pull origin master 把遠程伺服器master分支的內容更新至本地分支(默認情況下,你沒有創建新的分支,所以遠程和本地都只有一個主分支,名稱都是master,具體分支的用法請參考Git官方手則)鍵入>git push origin master 把本地master分支所有的修改提交至遠程git伺服器上的master分支完成了以上操作後,你可以訪問下GitHub上你的項目,看看god下是不是有個文件readme6 打開Qt Creator,在新建的本地Git倉庫目錄即D:God下新建一個Qt的項目,注意你的項目一定要在Git倉庫目錄下,否則Qt Creator不能啟用版本控制,設置Tools—>Options...-->Git,啟用環境變數,確保路徑能找到git.exe。選擇Window—>Output Panes -->Git,打開Git提示信息輸出窗口,隨便編輯一下你的項目,如修改下main.cpp,然後選擇Tools—>Git-->Commit命令提交修改,如果信息提示「git status -u命令錯誤或無效」說明PATH變數找不到git.exe,重新設置環境變數,commit是將更新提交到本地倉庫,此時會打開一個提交窗口,要你輸入提交信息,所有信息都要輸入。完成提交後選擇Tools—>Git-->Push命令將本地版本同步到伺服器,如果信息提示「time out」,這是什麼問題呢?如果此時我用Git Bash環境,cd到D:God下,鍵入>git push,不成功,看看提示信息,大概是說你想同步到哪裡的分支去,如果是針對當前的分支可設置config...,好吧我們再鍵入>git push origin master,成功了,原來是因為Qt Creator中的Push命令找不到遠程伺服器地址和同步的分支,怎麼辦,剛才提示了說你可以用config設置全局變數來實現,但更好的做法是修改D:God.gitconfig文件,打開它,看看有些什麼:[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true[remote "origin"] url =:ynshisss/god.git fetch = +refs/heads/*:refs/remotes/origin/*在config文件中加入:[branch "master"] remote = origin merge = refs/heads/master現在當你使用>git push命令時,同步的是master主分支,它的遠程remote則是origin,也就是:ynshisss/god.git。再次使用Qt Creator來同步吧,更新遠程到本地則使用push (pull),更多Git命令請查閱官方手則。
推薦閱讀:

Git由淺入深之分支管理
小米研發和產品是怎麼做版本控制的?
目前有什麼好的js和css版本控制程序?
淺談git入門(二):git基本命令講解(本地庫?遠程庫)

TAG:WindowsXP | 控制 | 版本 | Windows | 版本控制 | 功能 |