以下是我在实际工作中用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