git使用
下载克隆
git clone http://xxx/yyy.git
git clone -b branchName url
切换
cd yyy
切换分支
git checkout -b develop
git checkout -b develop remote_branch_name
egg. git checkout -b feature/20181206 origin/feature/20181206
设置提交的远程分支
git branch --set-upstream-to origin/develop develop
新建分支,并切到对应新分支
目前master分支,基于master,新建分支test
git checkout -b test
相当于
git branch test
git checkout test
全局设置用户和电邮
git config --global user.name "John Doe"
git config --global user.email johndoe@ example.com
查看配置信息
git config --list
git config --get user.name
查看分支
git branch -a
删除远程分支
在别的分支下操作
git push origin --delete remote_branch_name
删除本地分支
git branch -d local_branch_name
删除远程标签
git push origin --delete tag tag_name
删除本地标签
git tag -d tag_name
推送本地标签到远程
git push origin --tags
查看远程分支和标签
git ls-remote -h -t
切换远程git url
git remote set-url origin http://XXXX.git
查看标签
git tag
git 命令合并分支代码:https://www.cnblogs.com/sdgf/p/5852114.html
1、进入要合并的分支(如开发分支合并到master,则进入master目录)
git pull
2、查看所有分支是否都pull下来了
git branch -a
3、使用merge合并开发分支
git merge 分支名
4、查看合并之后的状态
git status
5、有冲突的话,通过IDE解决冲突;
6、解决冲突之后,将冲突文件提交暂存区
git add 冲突文件
7、提交merge之后的结果
git commit
如果不是使用git commit -m "备注" ,那么git会自动将合并的结果作为备注,提交本地仓库;
8、本地仓库代码提交远程仓库
git push
Git怎样撤销一次分支的合并Merge https://www.cnblogs.com/ZhangRuoXu/p/6706536.html
解决方法:
- 1.找到最后一次提交到master分支的版本号,即【merge前的版本号】
- 2.回退到某个版本号
git reset --hard 【merge前的版本号】
3.强制推送
git push -f
git 修改已提交的某一次的邮箱和用户信息
git filter-branch -f --env-filter \
"GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; \
GIT_COMMITTER_NAME='committed-name'; GIT_COMMITTER_EMAIL='committed-email';" HEAD
修改当前的project的用户名的命令为:
git config user.name 你的目标用户名;
git修改当前的project提交邮箱的命令为:
git config user.email 你的目标邮箱名;
git本地及远程分支回退
1. git本地版本回退
git reset --hard commit_id(可用 git log –oneline 查看)
2. git远程版本回退
git push origin HEAD --force #远程提交回退
下面的命令也可以实现远程版本回退
```
git reset --hard HEAD~1
git push --force
```
## 3. git reverse和git reset的区别
- git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
- 在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。
git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。
4. git reset + commit号
git reset命令后面是需要加2种参数的:
”–hard”和”–soft”。
这条命令默认情况下是”–soft”。执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。
使用git status命令可以在缓冲区中看到这些修改。而如果加上”–hard”参数,则缓冲区中不会存储这些修改,git会直接丢弃这部分内容。
但需要注意的一 个问题是:由于这样的重置是直接在本地的修改,无法提交到远程服务器,如果直接丢弃的内容已经被推到远程服务器上了,则会造成本地和服务器无法同步的问题。
即git reset –hard只能针对本地操作,不能针对远程服务器进行同样操作。如果从本地删掉的内容没有推到服务器上,则不会有副作用;如果被推到服务器,则下次本地和 服务器进行同步时,这部分删掉的内容仍然会回来。
而上面注意中提到的问题则可以很好的被git revert 命令解决。
5.git revert + commit 号
该命令撤销对某个commit的提交,这一撤销动作会作为一个新的修改存储起来,这样,当你和服务器同步时,就不会产生什么副作用。
原文地址:https://www.cnblogs.com/li-yg/p/11669838.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 教你如何在js中split函数分割字符串为数组
- [折腾]小型HTTP web服务Caddy及配置PHP
- graftcp一种把指定程序的 TCP 流量重定向到代理的方法
- Flutter应用集成极光推送的实现示例
- android调用C语言实现内存的读取与修改的方法示例
- Android中网络框架简单封装的实例方法
- Auto Remove Torrents:自动删种程序部署
- OpenVZ平台Alpine Linux一键安装脚本
- 使用holder.js生成美观的网页占位图
- Android studio 3.5.2安装图文教程详解
- Android面试必备的JVM虚拟机制详解,看完之后简历上多一个技能!
- 如何在PHP中JSON在线解析
- Linux下如何克隆磁盘/分区命令dd入门
- Android自定义跑马灯文字效果
- Android实现图片自动切换功能(实例代码详解)