拉取分支:
在gitLab上建一个分支
#拉取分支
git pull
#查看所有分支
git br -a
#切换分支
git co feature_renlili_regCoupons_20180717
#本分支和上一个分支来回切换
git co -
提交代码相关:
# 显示有变更的文件
$ git status
#提交全部到暂存区
git add .
#添加提交日志
git ci -m '新户注册发放优惠券'
#提交代码到远程(所在分支)
git push
合并到develop后打tag
合并到release 后打tag
修改分支名称
Git branch -m develop develop3
还原到某个版本:
git log 查看版本号
git reset --hard version 根据版本号还原
git push -f -u origin 分支 强制提交
d661aadfdbd654f5bfd05d848cf1c88085c02e80
合共分支;
git merge --no-ff feature_pubpay_rev_20180905
git merge feature_pubpay_rev_20180905
删除commit提交
git log 查看 commit的哈希值
git reset --hard commit_id
git reset HEAD~1
注意,使用该命令会把最近一次提交从本地分支中撤出,并且不会存入暂存区,我们需要在修改后将其重新add入暂存区
1.安装GIT,安装好后,打开GIT Bash
2.先配置自己的邮箱与名称
配置邮箱地址:git config --global user.email "renlili@cashpie.cn"
配置用户名:git config --global user.name
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
要想查看是否配置成功,依然是使用上述命令,把引号以及引号内的内容去掉即可。
3.拉取项目
在磁盘中新建好存放项目的文件夹,进入文件夹点击鼠标右键,选择Git Bash即可。
温馨提示:使用Git托管的项目,有两种地址,Https与SSH。
使用Https地址拉取,验证一次密码后,以后每次拉取/推送的时候不再需要验证密码。
使用SSH地址拉取的项目,每次拉取/推送的时候都需要密码验证。
拉取命令:
git clone https://github.com/AdolphKevin/NaoNao.git
4.分支管理
查看分支:git branch -r
加上-r是代表查看远程仓库的分支,要是查看本地分支,只需要把-r去掉即可,-r是remote的简写。
查看远程分支,所有的分支名前均会带有origin/ 的前缀
远程分支拉取到本地,并创建本地分支:git fetch origin x(远程分支名):y(本地分支名)
接着就是要将刚刚创建的本地分支与远程分支做关联了,做了关联之后,拉取更新与推送都不需要再指定分支名称
本地分支与远程分支做关联: git branch --set-upstream-to=origin/x(远程分支名) y(本地分支名)
5.切换分支
查看本地分支:git branch
切换分支:git checkout y(分支名)
6.提交内容
拉取最新数据:git pull
将文件提交到暂存区:git add xxx(文件名) 批量add的方法: git add -A
-A是All的缩写,git add all 可以提交未跟踪、修改和删除文件。
.git add . 可以提交未跟踪和修改文件,但是不处理删除文件。
提交代码:git commit -m "提交到暂存区"
推送远程仓库:git push
7.代码合并
将develop的内容合并到我们的feature分支上:
git checkout develop
git pull
git checkout feature
git merge develop
8.解决冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
<<<<<<<与=======之间的内容为当前分支的内容
=======与>>>>>>之间的内容为develop分支的内容(换句话说:就是需要被合并的分支内容)
手动解决冲突之后 git push 推送到远程仓库。
获取更新时的意外情况
Git pull - Please move or remove them before you can merge
这时我们在develop 分支上删除当前目录下没有被track过的文件和文件夹
git clean -d -f
现在重新获取更新即可
开发到一半,却需要切换分支
将当前分支开发的工作状态储藏下来:git stash
查看工作区状态:git status
这时,就可以切换到其它分支,当再切回分支后,
查看所有储藏的工作:git stash list
恢复其中某一个储藏状态:git stash apply stash@{0} stash@{0} 是当前分支储藏的工作名
删除指定储藏状态:git stash drop stash@{0}
切换后并自动删除得命令:git stash pop stash@{0}
9.版本回退
历史版本:git log
信息简洁: git log --pretty=oneline 加上一个--pretty=oneline参数,就可以只看提交的ID了
回退到上一个版本:git reset --hard HEAD
根据commit的ID,回退到指定版本:git reset --hard commit_id
commit_id这个版本号没必要写全,只需要写6位以上就差不多了,Git能自己找到它,若存在前6位重复ID,那再多加几位就好了
10.设置别名
git config --global alias.ck checkout
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
q键是退出日志查看
复制:ctrl+insert
粘贴:shift+insert
Git命令行的操作
git config --global user.name查看用户名或配置用户名
git config --global user.email查看email或配置email
git clone将远程仓库的项目克隆到本地
git branch查看分支
git branch -r查看远程分支
git branch <name>创建分支
git fetch origin origin/remote_branch:your_branch将远程分支下载到本地,并创建分支
git branch --set-upstream-to=origin/remote_branch your_branch将本地分支与远程分支做关联
git pull获取更新
git clean -d -f删除当前目录下没有被track过的文件和文件夹
git merge <name>将目标分支合并到当前分支
git add将内容添加到暂存区
git commit将添加的内容提交
git push将本地提交内容推送到远程仓库
git checkout切换分支
git branch -d <name>删除分支
git stash储藏当前分支所有内容
git stash list查看当前分支储藏列表
git stash apply恢复指定储藏内容
git stash drop删除指定储藏内容
git stash pop恢复并删除指定储藏内容
git status显示工作目录和暂存区的状态
git log显示commit的详细日志
git log --pretty=oneline只显示commit的ID与描述
git reset --hard HEAD回退到最近的一个版本
git reset --hard commit_id根据commit_id回退到指定版本