GIT all in one

gitlab是什么东东? 

gitlab是一个仿照github一样的线上代码托管网站,

ps:gitlab上创建的private网站要对每一个用户(包括自己)授权才可以clone,否则会报错:fatal: unable to access 'https://gitlab.com/***/***_demo.git/': Unknown SSL protocol error in connection to gitlab.com:-9805

 

如何导入gitlab工程至eclipse?

gitlab导入工程至eclipse时,如果选择 Use the New Project wizard

务必注意:新工程的路径要和之前clone到的本地路径一致,否则还得自己手工导入源码,并共享

 

第一次push到中心库时报错怎么办?

多半是没指定分支造成的,使用git push origin master 即可

 

为什么不能使用git init建立中心库?

中心库应该通过git --bare init方式建立,bare库中不含有工作目录

 

如何用Git保存空的目录结构?

git 和 svn 不同,仅仅跟踪文件的变动,不跟踪目录。Perforce 也是如此。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。只跟踪文件变化,不跟踪目录,这么设计是有原因的。但这会带来一些小麻烦。有时候,确实需要在代码仓库中保留某个空目录。比如测试时需要用到的空目录。变通的解决办法是在空目录下存一个 .gitignore 文件。然后 git add 此目录后,相当于跟踪了 .gitignore 文件,产生的“副作用”就是这个“空”目录也纳入“跟踪”,最终的效果是可以 check out 出一个看起来空空的目录。如果有许多这样的空目录,可以用下面的命令自动补充 .gitignore 文件:

find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitignore \;

递归找寻当前目录下,类型为目录,且为空,也没有 .git 开头的文件,在其中用 touch 新建一个空的 .gitignore 文件。然后 git add . 之后即可。如果这些特殊文件会对测试带来干扰,那就只好在测试程序运行具体测试项目之前,先跑一段初始化目录结构的代码。另外可能还需要编写负责清理的代码。

 

常用命令:

git clone 拷贝一个新的工程

eg:

git clone https://gitlab.com/mingren/mingren_demo.git

git add . ;添加文件到索引中

git commit -m "init" ;提交更新

git pull  ;类似svn的update

git push origin master;推送本地master分支的提交到中心库origin

git branch hello ;创建hello分支

git checkout hello;切换到hello分支

git merge hello; 与hello分支合并

 

 

posted @ 2014-04-20 20:57  dumbdonkey  阅读(284)  评论(0编辑  收藏  举报