git实践整理

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

3 git branch  -d  letdb  删除letdb分支
4 git checkout letdb 从现在的分支切换到letdb分支
5 git merge letdb,把letdb分支合并到当前分支,比如当前是master,那么letdb里的代码就和过来了,当然这个操作往往伴随着   大量的冲突需要去排除

以上的命令多多少少会有些执行不了,如果你确定一定要这么做,不妨加上一个  -f 参数 强制去做



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

猜你喜欢

转载自jias.iteye.com/blog/1438794