远离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

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操