使用gitlab进行项目合作开发的操作指南

原文链接: http://blog.csdn.net/current_person/article/details/50292545

参考网站: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

  1. 安装

Windows下安装git都是一路默认安装,需要的软件:

http://pan.baidu.com/s/1c1ozNmK

  1. 配置

命令行:

gitconfigglobaluser.nameYourName git config –global user.email”email@example.com”

图形界面:

右键→TortoiseGit→Setting

配置SSH:

命令行:http://wiki.creditease.cn/pages/viewpage.action?pageId=11370744

图形界面:http://jingyan.baidu.com/article/495ba841f2892638b30edefa.html

  1. 常用命令以及对应的图形操作

$ git clone 命令用来克隆一个远程仓库到本地

命令行:

$ git clone git@github.com:michaelliao/gitskills.git
图形界面:

首先得改变这个SSH Client的路径

右键→GitClone

$git add 把准备输出到缓存区的文件添加到列表

命令行:

图形界面:

$git commit –m “this is the commit of this file” 提交文件到缓存区,-m后面是此次添加注释

命令行:

图形界面:

$git status 检查当前项目的状态

命令行:

图形界面:略

$git diff 查看文件被改动之前与改动之后的区别

图形界面:右键àTortoiseGitàdiff

$git log 查看提交的记录,以便回退等

命令行:

图形界面: 右键àTortoiseGitàshow log

$git log –pretty=oneline 显示主要信息的log

命令行:

图形界面:略

$git reset –hard HEAD^ 回退版本使用的,HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上个版本,以此类推,所跳过的版本不会在使用git log命令再次显示

命令行:

图形界面:

$git reset –hard <版本号>,作用如同上一个,知道版本号就能到任意版本

$git reflog 显示每一次的命令,可以用于在回退版本错误时候找到原来的版本号

命令行:

图形界面: 右键àTortoiseGitàshow Reflog

$git checkout – “filename” 用于撤销没有add的文件所做的修改

命令行:

图形界面:略

$git reset HEAD 用于撤销add之后的文件所做的修改

命令行:

图形界面:通过回退版本实现

$git rm 删除文件 rm之后commit将删除操作提交 gitcheckout – 用来撤销提交

命令行:

图形界面:右键 à TortoiseGit à delete 或者 delete (keep local)

$git checkout –b 创建并切换到分支,相当于下面二个命令

$git branch 创建分支

$git checkout 切换分支

命令行:

图形界面: 右键 à TortoiseGit à Switch/Checkout

$git branch 查看当前分支,列出所有分支,前面带星号的是当前分支

命令行:

图形界面: 右键 à TortoiseGit à Switch/Checkout

$git merge [–no—ff –m “content”] 把分支合并到当前分支,- - no - - ff 选项用来表示merge操作要在log里面显示,不用的话log中查看不了merge信息

命令行:

图形模式: 右键 à TortoiseGit à Merge

这里面有一个重要的问题:合并冲突

git merge合并分支时如果你在二个分支上都做了改动,那么不能完成快速合并,这时候打开二个分支上的文件,git标示出了不同的地方,手动进行修改

$git branch –d 删除分支,如果d是大写的就是强行删除,意味着你没有合并这个分支到别的分支使用-D进行删除

命令行:

图形界面: 右键 à TortoiseGit à Switch/Checkout

$git log graph 用于显示分支合并图

分支策略:

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样

$git stash 用于不想提交但是想保存当前分支上内容,这个命令没必要掌握,新版本的git自动带有这个功能

$git remote –v 显示远程仓库的详细信息

命令行:

图形界面: 右键 à TortoiseGit à Switch/Checkout

$git push origin 推送到远程仓库

多人协作问题:当二个人先后修改一个文件,第一个人可以push成功,但是第二个人就不行了,出现如下的错误:

这个时候要后者要先git pull才可以,但是有的时候有的人可以成功,有的不行,这个原因是这样的,git pull失败的人是因为没有将本地分支与远程仓库的分支连接起来,解决的办法如下:

输入如下命令连接本地分支和远程分支:

$ git branch–set-upstream

然后gitpull就可以成功了,

目前有的人怕pull之后把本地的文件覆盖了,特意先把本地的文件复制出来,这个没必要,这样很影响工作效率,即使远程仓库的服务器上删除了一个文件,你的本地的文件也会有,远程服务器上修改的文件,git会把二个文件合并,使用==========这中分隔符把二个文件的内容写在一起,到时候你根据需求手动修改,修改完commit就可以push成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值