Git使用小结_hubaxiaofeiyu的博客-程序员宅基地

技术标签: git  

在远程创建分支

在远程上新建分支:
在这里插入图片描述
复制克隆地址
在这里插入图片描述

git clone 复制的地址, 选一个本地目录去执行:
$ git clone “地址”

查看所有分支
git branch -a

查看本地分支
git branch

强制更新分支
git fetch origin --prume

切换分支
git checkout -b origin/

切换回master分支
git checkout master

Clone指定分支,并且下载到指定目录下
git clone -b 分支名 git路径 “指定目录”

// 本地基于远程分支创建新的本地分支
git checkout -b newBranch origin/baseBranch

在本地创建分支

//创建新的本地分支
git checkout -b newBranch

//可以看到新建的newBranch 分支
git branch -a

//push 指令确定跟踪谁,一般来说我们都会使其跟踪远程同名分支,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。
git push --set-upstream origin branch_name

//如果本地branch name 和远程branch name 不一致的话,把本地分支跟远程分支建立连接关系
git branch --set-upstream-to=origin/ localbranchname remotebranchname


//再执行git branch -a,可以看到远程和本地都有新建的newBranch 分支

git push origin newBranch

回退已经push到远程仓库的代码

git log 找到想要回退的commit 号

使用 --soft 这样可以把修改项放回工作区,但是同时会带有各种merge 信息,
git reset --soft <commmit号>

hard 干脆直接, 直接把相关信息都删除
git reset --hard <commmit号>

编辑修改,再
git add ./

git commit -m “message”

注意,此处一定要加上force, 这样才可以覆盖掉你想要的回退的内容
git push --force

还有一种方式就是使用amend
这个命令是让我们可以对上一次提交有修改,可以修改文件也可以修改说明,不产生新的commit
git commit --amend

这样不用执行 git reset --soft 啦

fatal: not a git repository (or any of the parent directories): .git

执行完 git clone “地址”,
执行git branch
提示 fatal: not a git repository (or any of the parent directories): .git
这是因为找不到本地分支信息,需要切换到.git 文件夹的目录及下级目录才行

在这里插入图片描述

保证历史记录 图形 主线清爽,便于分支维护的做法

// 1 将本地更改内容放到暂存区
	git stash
// 1-1 查看暂存区更改内容
	git stash list
	
// 2 从本地开发分支 切到本地Dev 分支
	git checkout Dev
	
// 3 拉取Dev最新内容
	git pull
	
// 4 查看拉取的内容是否为最新
	gitk

// 5 创建本地分支 branchFolder/newbranch
	git checkout -b branchFolder/newbranch

// 6 查看本地分支
	git branch 

// 7 取回stash 的内容
	git stash pop 

// 8  查看最新更改的状态
	git status

// 9 将更改放到本地仓储
	git add ./

// 10 将更改提交
	git commit -m 'message'

// 11 将更改推到远端
	git push

// 12  将本地新建的分支同步到远端
	git push --set-upstream origin branchFolder/newbranch

// 13 查找新建文件夹内的分支
	 git branch |grep "branchFolder/"|xargs

// 14 删除新建文件和其内的所有分支
	git branch |grep "branchFolder/"|xargs git branch -d

git branch -d 会在删除前检查merge状态(其与上游分支或者与head)。
git branch -D 是git branch --delete --force的简写,它会直接删除。

更改关联的远程代码库地址

// 更新远程代码库地址
git remote set-url origin <remoteurl>

删除分支

//本地分支
//会在删除前检查merge状态
git branch -d 

//不检查merge状态,会直接删除
git branch --delete --force

//git branch --delete --force的简写
git branch -D 

// 删除新建文件和其内的所有分支
git branch |grep "branchFolder/"|xargs git branch -d

// 删除远端分支
git push origin --delete b1

//删除本地某个文件夹内的分支
git branch |grep  'branchFolder/' |xargs git branch -D

//删除远端文件夹内的所有分支
git branch -r | grep 'branchFolder/' | sed 's/origin\///g' | xargs git push origin --delete

//同步本地和远端分支
git fetch -p origin

使用npm 下载时,加上淘宝后缀,下载比较快
npm install --fegistry=http://registry.npm.taobao.org

切换分支时,用新分支的代码覆盖原分支的代码

// 强制采用新分支代码
git reset --hard origin/test

暂存区操作

// 将改动放在暂存区
git stash save ‘[messsage]’

//查看所有暂存内容
git stash list

//将暂存区上一次的保存内容取出,并继续保存在暂存区
git stash apply 

//将暂存区上一次的保存内容取出,并将暂存区内容删除
git stash pop 

//取出指定的暂存内容,并保留
git stash apply n

//取出指定的暂存内容,不保留,删除
git stash pop n 

merge

//切换分支
git checkout OriBrabch

//git merge:默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。
使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,建议采用这种方法
Git merge --no--ff  NewBranch
//处理冲突
Git add
git commit -m 'merge'
Git push

//查看保证版本演进 
Git log --graph

//查看git 操作历史记录
Git reflog

挑拣合并

//1. 切换到master分支
git checkout master

//2. 执行git cherry-pick 命令
git cherry-pick 32259aa35d0702d2d05c648938798f9a5bd4b921

//3. 再次执行git log命令就可以看到目标提交已经被合并到master上了
git log

//注意本地必须先有要pick 的这个分支,要不然会报错
bad object

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44997008/article/details/114872059

智能推荐

点击按钮滑动指定li位置_li滑动_普通网友的博客-程序员宅基地

&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt; &amp;lt;title&amp;gt;点击返回指定位置&amp;lt;/title&amp;gt; &amp;lt;style&amp;gt; #nav{ position: fixed; left:0; top:10px; ...

各种视频输出端口(HDMI、DVI、VGA、RGB、分量、S端子)图片说明_视频输出rgb接口_jack_a8的博客-程序员宅基地

各种视频输出端口(HDMI、DVI、VGA、RGB、分量、S端子)图片说明1.S端子标准S端子标准S端子连接线音频复合视频S端子色差常规连接示意图     S端子(S-Video)是应用最普遍的视频接

mongodb每天上亿数据量定期清理 _weixin_33816300的博客-程序员宅基地

背景:mongodb(应用运营数据分析与自动自助化支持平台)每分钟有30w~40w的insert,20w~30w的update。数据保留一天,一天之前的数据可以清理。一天的数据量大概1亿左右。由于数据量较大,清理数据对系统造成了较大影响,入库会出现堵塞。经过和开发多次讨论,尝试了不同的方案。最终选择了合适的清理方式,系统也开始比较稳定地运行。除了这个m...

Android大厂面试题锦集(BAT TMD JD 小米)_kavin.zhu的博客-程序员宅基地

上次写这篇文章的时候也差不多是一年前了,这一年我兜兜转转从android到java又回到android,校招面了很多大厂,阿里、京东、小米、头条、知乎、腾讯、有赞,也收获了几个offer。这是集合了牛客网、百度、简书等网站的几十篇面经和我自己面试的经历的合集,希望大家喜欢。1.android事件分发机制,请详细说下整个流程事件分发(面试).png2.android view绘制机制和加载过程,请详细说下整个流程1.ViewRootImpl会调用performTraversals(),.

IntelliJ IDEA安装及jsp开发环境搭建_拾指叁的博客-程序员宅基地

 一、前言  现在.net国内市场不怎么好,公司整个.net组技术转型,就个人来说还是更喜欢.net,毕竟不是什么公司都像微软一样财大气粗开发出VS这样的宇宙级IDE供开发者使用,双击sln即可打开项目,一直想吐槽为嘛java项目只能import。昨天一路踩坑,花了一整天的时间搭建好jsp的开发环境,特此记录下安装过程中一些注意的问题以及解决方案。整个过程槽点满满...二、Intell...

EXCEL数据比对常用函数_比对函数_幸运的小新粉的博客-程序员宅基地

1、取左LEFT(A1,3)2、取右RIGHT(A1,3)3、取某个符号左边LEFT(A1,find("**",A1))4、取某个符号右边RIGHT(A1,len(A1)-find("**",A1))5、取某两个符号中间MID(A1,FIND("X",A1)+1,FIND("Y",A1)-FIND("X",A1)-1)6、IFIF(判断逻辑,逻辑是的输出,逻辑非的输出)7、IFERRORIFERROR(输出内容,异常输出内容)8、VLOO

随便推点

Dubbo源码,详解dubbo协议数据包及解包过程_Java艺术的博客-程序员宅基地

关注“Java艺术”一起来充电吧!RPC协议即远程进程调用协议,自己的话理解就是,让两个进程之间的调用像同进程内调用一个函数那么简单。Dubbo框架的传输层默认使用dubbo协议,这也是...

DVWA——XSS(Reflected)——多种方法实现+详细步骤图解+获取cookie的利用过程演示_dvwa r_A&&K的博客-程序员宅基地

一)XSS(Reflected)介绍:反射型xss(非持久型):需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。特点:弹窗警告、广告;javascript;在浏览器中执行。通过Web站点漏洞,向客户交付恶意脚本代码,实现对客户端的攻击;恶意攻击者往Web页面里插入恶意的 Script 代码,当用户浏览该页面时,嵌入其中 Web 里面的 Script 代码就会被执行,从而达到恶意攻击用户的目的;注入客户端脚本代码、盗取cookie、重定向等。二)实际

Python笔记_第四篇_高阶编程_高阶函数_1.map和reduce_weixin_30478757的博客-程序员宅基地

1. map()函数:  原型:map(fn,lsd)  参数1是函数  参数2是序列  功能:将传入的函数一次作用在序列中的每一个元素。并把结果作为一个新的Iterator返回。其实map函数就是一个for循环查找。需要functools库。  图示:  实例1:# 实例1:from functools import reduce# pytho...

硬核干货!7000+字带你学会 Redis 性能优化点, 建议收藏!_iFlyChina的博客-程序员宅基地

在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博,最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费呢?Redis 性能的基本面在讨论优化之前,我们需要知道,Redis 服务本身就有一些特性,比如单线程...

链接脚本语法_stm32f405链接脚本_叶玄青的博客-程序员宅基地

连接脚本连接脚本的一个主要目的是描述输入文件中的节如何被映射到输出文件中,并控制输出文件的内存排布. 几乎所有的连接脚本只做这两件事情. 但是,在需要的时候,连接器脚本还可以指示连接器执行很多其他的操作.这通过下面描述的命令实现.连接器总是使用连接器脚本的.如果你自己不提供, 连接器会使用一个缺省的脚本,这个脚本是被编译进连接器可执行文件的. 你可以使用’–verbose’命令行选项来显示缺省的连接

Jython:Java和Python代码的粘合剂_qq_33855133的博客-程序员宅基地

1. 用Jython调用Java类库 第一步、创建Java类 写一个简单的Java类,用Point来示例: Java代码  import org.python.core.*;  public class Point extends PyObject {     private int x;     private int y;

推荐文章

热门文章

相关标签