git使用手册

一、经常用到的命令行

速查表

在这里插入图片描述

拉取线上新仓库

git clone XXX   (XXX为git仓库地址,克隆线上代码)

提交本地代码

git pull (每次提交前都必须先拉取线上分支)
git add . (git提交,点代表当前目录下的所有文件)
git commit -m 'xxx'   (暂存到本地, xxx为提交的描述)
git push (添加到线上仓库)
!!!每次提交前,先 pull  再提交

当拉取线上代码失败时候

git stash    (将本地变更过的代码,隐藏)
git pull  	(然后再拉取线上代码)
git stash pop (将刚刚隐藏的代码释放)  最后本地代码和线上代码合并了, 然后再检查一下有无冲突 解决完冲突   再  git pull    再提交
!!!每次提交前,先 pull  再提交

版本回退

git log		(查看提交日志)
git reset --hard id		(根据id回退到指定版本)
git push origin HEAD --force	(推送到本地到远程仓库)
git reflog		(查看命令操作的历史)

创建、切换分支

git checkout -b dev (创建dev分支,然后切换到dev分支)

//git checkout命令加上-b参数表示创建并切换,相当于以下两条命令
git branch dev (创建dev分支)
git checkout dev (切换到dev分支)

将本地分支上传到远程分支

git add .
git commit -m "提交的信息"
git remote add origin 远程仓库地址
git push -u origin 分支名

拉取远程分支

git branch -a
git checkout -b dev origin/dev	(dev是远程分支名称)

合并分支

//1、查看分支
git branch
//2、切换本地分支到master
git checkout master	
//3、拉取远程master代码(!!!重要)
git pull origin master
//4、合并dev分支到master
git merge dev
-------
git merge master/dev (合并分支,将dev合并到主分支,然后再次 git push一次即可完成分支合并)

查看所有分支

查看所有本地分支 
git branch -a

查看远程仓库的分支
git branch -r

删除分支

删除远程分支
git push origin --d dev
 
 删除本地分支 dev
git branch -d dev

拉取远程分支

//情况一:目前本地还没拉代码,直接拉分支dev代码
git clone -b dev git@gitlab.yopoint.vip:ac/YoPointSwift.git
//如果出现错误提示:
//fatal: 'origin/ac_branch' is not a commit and a branch 'dev' cannot be created from it
// 同步一下仓库
git fetch

//情况二:本地已经拉取了代码,想拉取远程某一分支的代码到本地
git checkout -b dev origin/dev   拉取远程分支到本地(方式一)
git fetch origin dev:dev  拉取远程分支到本地(方式二)

更新远程分支列表

更新远程分支列表
git remote update origin --prune

二、经常遇到的问题

初次使用,需设置正确名字和邮箱

//查看git的用户
git config --list

// 设置用户名和邮箱
git config --global user.name "xxx"		//xxx你的名字
git config --global user.email "xxx@xxx.com"	//xxx你的邮箱

git权限问题,You do not have permission push to this repository

在这里插入图片描述
如图,提示You do not have permission push to this repository,则表示你没有推送到此存储库的权限,叫你们的仓库管理员给你添加一个开发者权限

分支被保护问题,[remote rejected] master -> master (pre-receive hook declined)

在这里插入图片描述
如图,提示[remote rejected] master -> master (pre-receive hook declined),则表示你没有远程访问master的权限

原因:权限问题,Develop角色默认下没有远程访问master的权限
解决方案:

方案一:在项目的【Setting】中的【Protected branches】可以设置哪些分支是被保护的,默认情况下【master】分支是处于被保护状态下的,develop角色的人是无法提交到master分支的,在下面的【Developers can push】打上钩就可以了。

方案二:使用其他分支push 入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值