gitlab使用

git与gitlab
一、git工具的使用配置
1. 激活gitlab账户,你的公司邮箱已经收到一份gitlab账户激活的邮件;
2. 安装git,在/share/software/git/Git-2.7.2-32-bit_setup.1457942412.exe,按照默认安装即可;
3. 在D盘新建一个文件夹并命名,如laiwei/lwiot(OA组:laiwei/lwoa);
4. 在lwiot/lwoa文件夹上右键点击,选择Git bash;
5. 在打开的命令窗口中输入命令git init;
6. 输入以下命令配置git
git config –global user.name yourname
git config –global user.email yourEmail
7. 在命令窗口中输入命令ssh-keygen -t rsa -C “ youremail y o u r e m a i l ” , 用 公 司 邮 箱 代 替 your_email,例如:wuhao@laiweitec.com,只需要点击三次回车,无需输入任何内容;
8. 进入C:\Users$yourname.ssh目录下(例如:$yourname替换为lw-yf-010),用记事本打开id_rsa.pub文件并复制所有内容,进入gitlab网站点击左上角的profile settings,点击左边的SSH keys,并将刚才复制的内容添加进去;
这里写图片描述
9. 输入命令git remote add origin git@10.0.0.4:lwoa/lwoa_project.git(或:git remote add origin git@10.0.0.4:lwiot/lwiot_project.git);
10. 输入命令 git pull origin develop下载工程代码,提示输入yes或no,输入yes后回车;
11. 切换本地分支到develop分支:git checkout develop;
12. 添加需要忽略的文件或文件夹:从/share/software/git/中复制.gitignore_global文件到C:\Users$yourname\文件夹下;
13. 在git命令窗口中输入:git config –global core.excludesfile ~/.gitignore_global后回车;
14. 在git命令窗口中输入:git config core.ignorecase false 后回车;(设置解决Git的大小不敏感问题)
15. 常用的git命令:
(1)查看需要提交的文件:git status
(2)将文件添加待提交:git add -fileNames(如果需要全部添加:git add -A / 当前文件夹下全部添加:git add .)
(3)提交到本地仓库:git commit -m “提交注释”
(4)提交到版本库:git push origin branchnames(将branchnames替换成分支名称)
(5)查看当前所有分支:git branch
(6)删除当前本地分支:git branch -D branchnames,注(不能删除当前所在的分支,必须切换到其他分支才能删除)
(7)创建或切换本地分支:git checkout -b branchnames, 分支不存在就基于当前代码创建分支,去掉-b切换分支。
7.1、git checkout -b brancheName remote-branch-name 例如:git checkout -b dev remotes/origin/jiaowei。remote-branch-name用git branch -a查看,用这种方法切换分支,不会和切换前的分支有任何关系,直接更新到当前分支最新。
如果报如下错误,先执行git fetch:
$ git checkout -b develop remotes/origin/develop
fatal: Cannot update paths and switch to branch ‘develop’ at the same time.
Did you intend to checkout ‘remotes/origin/develop’ which can not be resolved as commit?
7.2、查看远程所有分支:git remote show origin
7.3、同步远程分支:git remote update
(8)git 查看提交记录:git log
(9)git 查看提交记录:git diff FILENAME (FILENAME 是要查看的文件名称)
(10)git回滚提交到本地仓库的内容:git reset –hard HEAD~1 (~1表示最近提交的测试,1表示最近提交的一次)
(11)查看未add的内容:git status(查看文件列表)或者git diff(查看修改的文件内容)
(12)查看已经add,但还没有commit的内容:git diff –cached
(13)将已经add的文件撤回到未add状态:git rm –cached “文件路径”
(14)将已经add的文件撤回到未add状态并且删除物理文件:git rm –f “文件路径”
(15)将工作目录中未add文件回滚:git checkout filename(单个文件)、git checkout . (所有文件)
(16)重置暂存区的指定文件,与上一次commit保持一致,但工作区不变:git reset [file],git reset . (重置暂存区里所有的文件)
(17)重置暂存区与工作区,与上一次commit保持一致:git reset –hard
(18)重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变:git reset [commit]
(19)重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致:git reset –hard [commit]
(20)查看即将push代码的内容git diff HEAD^ HEAD
(21)回滚某一次提交的方法:git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61(要提交代码的版本号,用git log查看),然后再把代码推送到远程服务器;适合提交到远程仓库的情形。(需保持提交树的干净)
(22)回滚到某一个提交版本:git reset –hard 提交版本ID,然后把代码推送到远程仓库,适合代码还没有push的情况,已经push的代码reset后无法push,提示当前的hard不在远程分支之后(不会将中间版本提交到远程的版本库中)。
(23)merge的内容提交后不能回退,一定要注意,回退后原来的代码都没有了。
(24)冲突解决
查看冲突的文件:git status,查看冲突的详细信息:git diff;
24.1、文本冲突解决
出现冲突时git不知道如何自动合并,需要我们解决冲突手动合并。 如果是文本文件,git会在有冲突的地方作上标记(如 HEAD >>> ==== <<< HASH_ID等)。标记HEAD >>> ====之间的是当前分支的修改。 ==== <<< HASH_ID是更新目标分支的修改。需要根据业务手工解决冲突。
24.2、二进制文件冲突解决
git checkout FILE –ours [ –theirs ] ,FILE可以通过git status查看,需要完整路径;
–ours 表示检出当前分支,即保存当前分支的改动,丢弃另外分支的改动.
–theirs 表示检出另外分支, 即保存另外分支的改动,丢弃当前分支的改动.
例如:
有分支A和B, 当前我们在分支A上, 需要把分支B合并到分支A, HashMap.c文件发生冲突了.
git checkout HashMap.c –ours 表示冲突的地方采用A分支上的修改,丢弃B分支上的修改.
git checkout HashMap.c –theirs 表示冲突的地方采用B分支上的修改,丢弃A分支上的修改.

修改完成后,先执行git add .,再执行git commit -m “”,最后push 到当前分支;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值