itlab类似github,客户端都使用git来管理代码。下面介绍一些常用的使用命令:
使用git将本地代码推送到远程代码库
cd demo //进入到demo目录,这个目录放每个项目的源代码,也就是我本地代码仓库位置。
在demo目录添加到本地仓库,初始化。
git init //此时只是根据demo目录结构做了部分初始工作,demo目录下的文件还没被最终及提交到本地仓库。
将demo目录下的文件全部添加到本地代码仓库中。
git add . //将目录下所有文件加入暂存区
git commit -a -m “初次提交” //此时本地仓库中已经保存有StudyGit项目的记录了,接下来可以将本地仓库中内容push到远程仓库了。
在远程创建一个仓库,用于和本地仓库关联起来,以后从本地提交代码到这个远程仓库中。仓库名称可自定义。
git remote add origin http://gitlab.mx.com/bi/demo.git //1.”origin”是远程仓库地址的别名(不是远程仓库上项目的名字)可以随便起,默认是origin
//2.我这里使用的是http方式的连接提交代码。默认是ssh方式的git@gitlab.mx.com:bi/demo.git,需要知道ssh密码。
查看刚刚创建的远程仓库
git remote -v //可以查看当前项目连接的是哪个远程仓库地址
如果想删除远程仓库可以使用命令
git remote rm [remote-name]
将本地仓库push到Git@OSC上的远程仓库:
git push -u origin master //”origin ” 是刚刚创建的远程仓库名,“master”是本地仓库的主干分支(目前也只有这一个分支,没有其他分支)
如里有报错误:
To git@git.oschina.net:yangzhi/hello.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@git.oschina.net:yangzhi/hello.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushin
hint: to the same ref. You may want to first merge the remote changes (e.g.
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
可以输入:
git push -f
如果问题还是不能解决,说明远程有文件没有下载到本地,再使用命令
git pull --rebase origin master
此时远程的文件已经下载到本地了。然后
git push origin master
克隆代码到本地:
git clone git@github..com:用户名/项目名.git//ssh方式,也可以选择http方式。
其实在git上创建项目后,官方给出了很好的文档,帮助我们在本地从零或从已有项目与远程建立关联:
如果远程增加了分支,则需要更新远程仓库的分支信息。
git remote update --prune origin
分支操作
查看分支
git branch
或者
git branch -v
A) 创建分支
git branch mystudygit1.0
B) 切换分支
git checkout mystudygit1.0
C) 删除分支
git branch -d mystudygit1.0 //如果该分支没有合并到主分支会报错
或者
git branch -D mystudygit1.0 //强制删除
D) 分支合并
比如,如果要将开发中的分支(develop),合并到稳定分支(master),
首先切换的master分支:git checkout master。
然后执行合并操作:git merge develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git commit 提交更改。
例如:将acc2f69提交合并到当前分支
git merge acc2f69
E)合并
git如何clone 远程github中的分支?
git clone -b release_branch https://github.com/jetty/
如果你本地还没有分支,先
checkout -b branch_name origin/branch_name
然后再
git checkout branch_name
F)创建本地分支并与远程分支相关联:
git checkout origin/branch_name -b branch_name
如果这种本地分支和远程分支同名并且追踪,有一种更简便的方式
git checkout -t origin/dev
ref:http://blog.csdn.net/wirelessqa/article/details/20152651
以下是详细的git教程。
http://www.yiibai.com/git/git_push_operation.html#