git开发常用命令

摘要:
1.基本命令gitbranch:查看本地分支gitbranch-r:查看远程分支gitcheckoutxxx:切换分支gitpulorigmaster//从远程同步到本地,

1.基本命令
git branch 查看本地分支
git branch -r 查看远程分支
git checkout xxx 切换分支
git pull origin master //从远程同步到本地,master或分支名
git pull origin xxx
git checkout -b xxx 新建xxx的分支
git checkout -b 本地分支名 远程分支名
git branch -D xxx 删除本地分支
git status 查看状态
git add file 添加到本地server cache
git checkout -- file 从本地回滚
git add path1 path2 ... 添加修改文件路径到stage状态。
git commit 提交本地server
git log
git diff cmt1 cmt2 --stat 查看cmt1 和cmt2两个版本的文件变化
git checkout -- filename 去除本地文件的修改、
git stash 去除本地的所有更新
git log --committer xiaojin.lh 查看某个committer的提交
git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

2.拉取远程分支
1).首先clone,获取远程的主干
git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git 空目录

2).查看远程分支
git branch -r

3).根据远程分支建立本地分支
git checkout -b 本地分支名 远程分支名

4).拉取远程的最新分支
git pull origin feature_encryption_issue1

5).拉取远程的某个tag,比如拉取远程rocksdb的4.11.2版本
git checkout -b 4.11.2 v4.11.2

3.推送到远程
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin xxx:xxx 把本地的分支推送到远程
git push origin xxx,省略远程分支,表示将本地的xxx分支推送到远程的xxx分支,若分支不存在,则创建。
git push origin xxx:xxx --dry-run 模拟推送
git push orgin :xxx,表示推送一个空分支到远程,相当于删除远程分支。
等价于:
git push origin --delete xxx

4.合并分支master
1).切换到master分支(想要合并的目的分支,这里是master)
2).合并分支
git merge feature_encryption_issue1,(合并想要合并的分支名,这里是feature_encryption_issue1)
3).推送到远程
git push origin master

比如你在开发feature_xxx,这个时候master已经更新了,你需要合并最新的master:
4).在feature_xxx分支更新master
git checkout feature_xxx
git merge master

5).master 合并某个分支 feature_xxx
git checkout master
git merge feature_xxx

5.提交Merge Request步骤
1).删除远程分支
git push origin :xxx_branch //删除远程的xxx分支

2).拉取master
git clone git@gitlab.abcde-inc.com:mysql-engine/mysql.git xxx_branch

3).建立新分支
git checkout -b xxx_branch

4).合并diff文件
git apply xxx.diff

5).本地提交
git commit -am "[feature]comment"

6).推送到远程分支
git push origin xxx_remote_branch

7).本地提交,使用--amend //commit沿用之前的版本号
git commit --amend 【本地提交】

8).推送到远程,使用 --force
git push origin xxx:xxx --force 【推送到远程】

6.生成patch,合并patch
1).基本命令
git diff old-commit current-commit > xxx.patch 生成patch
git apply xxx.patch 应用某个patch,事务操作,全部成功或全部失败。
git apply -R xxx.patch 恢复某个commit,xxx.patch是变更的内容。
git apply --check patch 在应用patch之前,可以用命令 --check 确认patch是否有冲突问题。
git apply patch --reject 如果有冲突,可以通过--reject查看冲突在哪里,然后进行修改。

2).拉取一个主干,然后应用patch
git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git
patch -p1 < *.diff
3).commit
4).push到远程。

免责声明:文章转载自《git开发常用命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇VXLAN技术在数据中心的应用ZooKeeper管理员指南——部署与管理ZooKeeper下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

阿花宝宝 Java 笔记 之 初识java

1.记事本开发一个Java程序  编写源程序   源程序以.java为后缀名  编译     javac  编译后生成的文件以.class为后缀名  运行     java 运行编译后生成的.class文件2.java程序框架public class Hello{ public static void main(String[] args){  //注释  ...

Eclipse同时编译多个cpp文件

步骤1、新建工程 File -> new -> project -> C/C++ Project 选择Makefile Project 中的Empty Project. 步骤2、添加测试源文件 在helloworld工程上右键,新建文件夹src和Debug 分别用来存放源文件和可执行文件(new -> Folder) 在src...

Docker-Compose学习使用

1. 什么是docker-compose Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器。Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使...

解决C#编译中"csc不是内部或外部命令"的问题

安装完 VisualStudio 编译环境后,是不能用命令行直接编译写好的csc文件的,如果不配置环境变量,在命令提示符(cmd)中编译扩展名为cs的文件,会出现错误提示“csc不是内部或外部命令,也不是可运行的程序,或批处理文件”。这时只需配置好环境变量,就可以成功执行csc命令编译C#源码了。使用记事本编写一个C#程序,保存后将扩展名改为cs,存储在D...

Myeclipse安装svn插件

Myeclipse安装svn插件 演示版本 myeclipse——myeclipse8.6 svn——subeclipse-site-1.6.5.zip(对应Myeclipse版本,要有对应的svn插件版本) 方法一: 1.解压svn插件到Myeclipse安装目录下(新建一个目录myplugins,并删除所有的配置文件(xml文件) 2.在Myeclip...

git 和 repo 常用命令

一、git 1、回退到某个节点   git reset --hard f39043d1c0cd1cda45a4569556758d0c00bf329a    2、查看提交记录   git log   git log -p  查看更改内容   git show 节点号, 查看某个节点的更改内容,如git show f39043d1c0cd1cda45a456...