远离sourcetree之路的git命令行学习

2024-05-10 00:48

本文主要是介绍远离sourcetree之路的git命令行学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

惊讶的发现在新美大大家都走的是命令行的geek路线~所以放弃sourcetree开始入命令行的坑,留个念想以备不时回查。

 

1.切换分支

git checkout [name]

参数 -b 远程拉并直接创建切换了

2.查看分支

本地:git branch

远程:git branch -r

3.从远程克隆一个仓库

git clone [仓库地址]

4.从远程拉取代码到本地

git pull [remoteName] [localBranchName]

5.添加项目

git add

6.推送分支

git push origin [name]

7.删除分支

git branch -d [name] 

-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

8.删除远程分支

git push origin --delete [name]

9.查看状态

git status

10.合并某分支到当前分支

git merge [name]

11.撤销做出的修改

git如何删除本地所有未提交的更改,包括修改的、新增的、删除的,还有一些编译生成的临时文件。就是回到上一版本的干净状态。我查了下有两个相关的命令:
        git clean -df
        git reset --hard
有些需要注意的问题是第一个命令只删除所有untracked的文件,如果文件已经被tracked, 修改过的文件不会被回退。而第二个命令只把tracked的文件revert到前一个版本,对于untracked的文件(比如编译的临时文件)都不会被删除。如果需要一步到位的话可以尝试把两个命令配合起来使用。git reset --hard 之后再 git clean -xdf 

12.暂存

git stash能够让你保存当前的工作目录,相当于为你当前分支拍一个快照。保存快照的意义在于你不commit也能保留你做出的修改,之后你就可以切换到不同的分支上去。在其他分支上或者回到你stash过的分支上都可以把你拍过快照的修改应用在其之上,感觉十分方便。举个例子我遇到的使用场景就是,我在一个seo分支上一不小心写了一些快递功能的代码,而这些代码应该在delivery分支上才对。于是乎,我stash了seo分支,切回到master分支(为了进一步在delivery分支上开发),新建delivery分支,这时候delivery分支和master分支一模一样,这时候把之前的暂存应用在delivery分支上,这样我写的关于快递功能的代码就漂亮的转移到了delivery分支。这时候回到seo分支,把关于快递的修改撤销掉,再把快照删掉,干干净净!

git stash 暂存当前工作目录

git stash list 查看你所有的暂存

暂存恢复

一是用git stash apply stash@{0} 恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了

13.合并主干

可能拉一个dev分支开发期间master上又有新的特性发布了,这个时候为了减少冲突,有的时候需要合并主干具体做法是

git checkout master -> git pull -> git checkout dev -> git merge master-> 有冲突解决冲突,没冲突万事大吉

这篇关于远离sourcetree之路的git命令行学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974967

相关文章

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

SQLite3命令行工具最佳实践指南

《SQLite3命令行工具最佳实践指南》SQLite3是轻量级嵌入式数据库,无需服务器支持,具备ACID事务与跨平台特性,适用于小型项目和学习,sqlite3.exe作为命令行工具,支持SQL执行、数... 目录1. SQLite3简介和特点2. sqlite3.exe使用概述2.1 sqlite3.exe

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Python的pip在命令行无法使用问题的解决方法

《Python的pip在命令行无法使用问题的解决方法》PIP是通用的Python包管理工具,提供了对Python包的查找、下载、安装、卸载、更新等功能,安装诸如Pygame、Pymysql等Pyt... 目录前言一. pip是什么?二. 为什么无法使用?1. 当我们在命令行输入指令并回车时,一般主要是出现以