以下是我在實際工作中用git的一些基本操作整理和碰到的一些問題
前提是我們在github上存在一個項目叫ctalk,把自己的ssh公鑰讓這個項目的管理員加到該項目的ssh列表裏,接下來就開始我們的操作了:
1 克隆項目
git clone git://github.com/jias/ctalk.git
那麼這個項目就到我們本地了
2 提交項目
git commit -a -m "我重構了xx類"
這個提交只是把更改提交到我們本地的git管理庫中,跟遠程的服務器沒一點關係,github根本不知到這一操作,這也體現了git的 特點,大家都是服務器,沒有客戶端和服務器的概念,這兒我們不要認爲放在本地上的ctalk只是一個小客戶端,我們也是服務器。
-a 表示all,-m 表示message,這樣避免一個一個的去add
3 推送項目
git push
我們本地的git雖然也是服務器,但大的項目都是多個人來開發的,最後大家需要把自己的本地的服務器代碼push到某一指定的 服務器上進行合併,這個指定的服務器可以是項目組員中的任何人
4 更新項目
git pull
這個命令是從其他服務騎上下在代碼到本地進行合併,這個pull和上面的push都是遠程的,在commit之後最好pull下再push
以上是4個基本的流程、下面是一些幫助命令
1 git remote -v 查看遠程服務器的地址信息 如
origin [email protected]:jias/ctalk.git (fetch)
origin [email protected]:jias/ctalk.git (push)
2 git branch 查看有哪些分支,帶*表示當前所在分支
*master
letdb
FQA:
當我在push代碼時,提示我github掛掉了等錯誤信息:原因是我們克隆的時候用的是 git clone git://github.com/jias/ctalk.git,這個地址在github上以下就看明白了,前面寫明瞭這是個git rad-only 他不走ssh協議,只能pull不能push,如果你要push,當初克隆的時候就要用這種格式的地址 [email protected]:jias/ctalk.git,他前面會自動加上ssh協議。當然你也可以不用重新clone,只需要重新指定下remote的地址 如下
git remote rm origin
git remote add origin [email protected]:jias/ctalk.git
然後看下git remote -v看下地址格式已經正確了
也可以如下方式
git remote set-url --push origin
[email protected]:jias/ctalk.git