git使用小结(本地分支与远程分支、git命令)
git
git 是一个版本管理系统(VCS),可以在任何时间点,将文档的状态作为一份更新记录保存起来,并且在任意的时间点,恢复更新记录
版本管理
版本管理是一种记录文件变化的方式,方便查阅特定版本号的文件内容
人为维护文档版本问题
1、文档数量紊多,命名不清晰,导致文档版本混乱
2、每次编译文档需要赋值,不方便
3、多人同时编辑一个文档,容易产生覆盖
git使用
在使用git前,需要全局配置git
- 提交用户名 - git config --global user.name “用户名”
- 提交邮箱 - git config --gllobal user.email “邮箱”
**注:全局配置只执行一次,若需要修改,重复上述命令
git提交命令
git init 初始化git仓库
git status 查看文件状态
git add . 提交新增文件内容
git commit -m “commit” 提交文件说明
git log 查看提交记录
git remote add origin https://gitee.com/xxxx/xxxxx.git 与远程仓库关联
git push -u origin master 把本地分支推送到远程
git clone https://gitee.com/xxxx/xxxxx.git 下载远程master分支(克隆)
git pull --rebase origin master 获取远程库与本地同步合并(远程仓库不为空)
git remote remove origin 断开远程库与本地间的连接
在git bash中移除本地与git之间的连接
find . -name “.git” | xargs rm -Rf 移除本地与git之间的连接
git分支
分支是当前工作目录中代码的一份副本,使用分支,可以让我们从开发支线上分离出来,以免影响开发主线
查看分支
- git branch 查看本地分支
- git branch -a 查看所有分支(本地与远程)
- git branch -r 查看远程分支
- git branch -vv 查看本地分支与远程分支之间的关联关系
分支命令
- git branch 分支名/develop 创建新的分支
- git checkout 分支名/develop 切换分支(在暂存区中覆盖原工作目录中的分支)
- git rm --cached 分支名/develop 从暂存区删除分支
- git branch -d 分支名 删除分支(分支被合并后才允许删除)/(-D强制删除)
- git merge 来源分支 合并分支
- git rest --hard commitID 从git仓库中将指定的更新记录恢复出来,覆盖暂存区和工作区
主分支(master) 第一次向git仓库中提交更新是自动产生的分支
开发分支(develop) 作为开发的分享,是基于master分支创建的
功能分支(feature) 作为开发具体功能的分支,基于开发分支创建
分支间的关系
功能分支 -> 开发分支 -> 主分支
暂时保存更改
提取分支上所有的改动并且存储起来,可以让开发人员有一个干净的工作副本,临时去网其他工作
应用场景:分支临时切换
*存储临时改动:git stash
*恢复改动:git stash pop
git远程分支
拉取远程git仓库里的指定分支到本地(本地不存在的分支)
- git checkout -b 本地分支 origin/远程分支 拉取远程里的分支(本地不存在)
- git checkout 分支名 切换分支
若出现提示:
fatal: Cannot update paths and switch to branch ‘远程分支’ at the same
time. Did you intend to checkout ‘origin/远程分支’ which can not be
resolved as commit?
表示拉取不成功
则需要先执行
- git fetch
在执行
- git checkout -b 本地分支名 origin/远程分支名
本地检出新分支并推送到远程
- git checkout -b develop 分支名 创建并切换本地分支
*[相当于 git branch dev //创建分支
git checkout dev //选择分支
]
- 该分支是从当前分支检出的,所以文件内容与当前分支一样
- git branch origin develop 创建远程分支
- git push --set-upstream origin 分支名 推送本地分支到远程仓库
如果远程分支已存在,就在创建本地分支时与其关联
- git checkout -b 本地分支 origin/远程分支
合并分支
切回master
- git checkout master
- git merge 本地分支 合并分支
- git push origin master 推送
删除分支
git branch -d dev //删除本地分支
git push origin -d dev //删除远程分支
git使用小结(本地分支与远程分支、git命令)的更多相关文章
- Git 操作本地分支与远程分支
1 查看本地分支 git branch 2 查看远程分支 git branch -a 3 新建远程分支 git checkout -b developr git push origin develop ...
- git 本地分支与远程分支
github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...
- git 本地分支与远程分支关联的一种方法
github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...
- Git新建本地分支与远程分支关联问题:git branch --set-upstream
Git新建本地分支与远程分支关联问题:git branch --set-upstream git在本地新建分支, push到remote服务器上之后,再次pull下来的时候,如果不做处理会报以下提示: ...
- git本地分支与远程分支
github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...
- git 创建本地分支与远程分支
早上抽空整理了下git常用操作,偶尔看看加深下印象吧: 如果github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pu ...
- 删除本地git的远程分支和远程删除git服务器的分支【转】
转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了 ...
- [Git] 将本地分支与远程分支关联
. . . . . 在本地工程中添加Git,并将其与远程的空库关联起来,只需如下几步. 1. 创建空库 $ git init Initialized empty Git repository in D ...
- git 本地分支和远程分支改名字
1.将本地分支进行改名: git branch -m old_branch new_branch 2.将本地分支的远程分支删除: git push origin :old_branch 3.将改名后的 ...
随机推荐
- PHP sizeof() 函数
实例 返回数组中元素的数目: <?php$cars=array("Volvo","BMW","Toyota");echo sizeof ...
- PHP jdtojulian() 函数
------------恢复内容开始------------ 实例 把儒略历法的日期转换为儒略日计数,然后再转换回儒略历法的日期: <?php$jd=juliantojd(6,20,2007); ...
- 6.28 NOI模拟赛 好题 状压dp 随机化
算是一道比较新颖的题目 尽管好像是两年前的省选模拟赛题目.. 对于20%的分数 可以进行爆搜,对于另外20%的数据 因为k很小所以考虑上状压dp. 观察最后答案是一个连通块 从而可以发现这个连通块必然 ...
- ABAP 动态备份自建表数据到新表(自建表有数据的情况下要改字段长度或者其他)
当abaper开发好一个程序给用户使用一段时间后,发现某个字段的长度需要修改,但数据库表中已经存在很多数据,冒然直接改表字段可能会导致数据丢失,这种问题的后果可能非常严重. 所以我想到先复制出一个新表 ...
- Java 通过Jna调用dll路径问题
调试阶段 C++ dll --> window/system32C# dll --> C:\Program Files\Java\jdk1.8.0_171\bin [jdk bin] 打包 ...
- spring boot中使用mybatis的注意点!!!
1 生成的mapper接口上打上注解 2 在pom.xml中需要导入mysql(根据需要),jdbc和mybatis的依赖 3 在主类上设置扫描 4 com.mysql.cj.exceptions等报 ...
- MarkDown语法的详细使用教程
MarkDown语法 Markdown是一种纯文本格式的标记语言.通过简单的语法可以使普通文本内容具有一定的格式. 一. 标题 在要设置为标题的文字前面加#和空格 一个#和空格是一级标题,两个##和空 ...
- RabbitMQ 基础概念进阶
上一篇 RabbitMQ 入门之基础概念 介绍了 RabbitMQ 的一些基础概念,本文再来介绍其中的一些细节和其它的进阶的概念. 一.消息生产者发送的消息不可达时如何处理 RabbitMQ 提供了消 ...
- JavaFX桌面应用-为什么应用老是“未响应”
日常使用软件的过程中,偶尔会遇到软件突然卡住,再点击几次就变成"未响应"的情况. 在JavaFX应用中同样也会出现这种情况,在开发过程中应该尽量避免这种情况的出现. >> ...
- 【Java】AES加机解密工具类代码
import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import javax.crypt ...