百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

程序员必备!15个超实用的Git命令,助你高效管理代码

wptr33 2025-01-16 21:12 20 浏览

引言

对于许多新手开发者来说,命令行界面(CLI)看起来似乎难以驾驭,但实际上,它能为你的开发工作提供图形界面(GUI)无法实现的灵活性和控制力。如果你能熟练掌握几个基础的Git命令,你的工作效率将大大提升。

今天的文章就带你了解 15个开发者必备的Git命令,帮助你更好地管理代码。如果你已经熟悉这些基础操作,还可以进一步学习 10个实用的Git进阶命令


1. git init - 初始化仓库

git init 是创建Git仓库的起点。它会在当前目录下初始化一个新的Git版本库,非常适合新项目的开始。

git init

即使是个人小项目,也建议从一开始就用版本控制,确保代码始终井井有条。


2. git clone - 克隆远程仓库

git clone 用于将远程仓库复制到本地,是你加入已有项目或协作开发时的必备命令。

git clone https://github.com/user/repo.git

它让你迅速同步项目历史和文件,省去繁琐的手动配置步骤。


3. git add - 添加文件到暂存区

git add 命令用于将修改的文件添加到暂存区。
• 添加单个文件:

git add index.js

• 添加所有修改:

git add -A

合理地使用 git add 可以避免无意提交不需要的改动。


4. git commit - 提交代码快照

git commit -m 用于将暂存区的内容提交到仓库,并附上提交信息:

git commit -m "实现用户登录功能"

清晰的提交信息能帮助你和团队快速理解每次修改的内容。


5. git add -p - 分步添加修改

当你只想提交文件的部分改动时,git add -p 是理想选择。它允许你逐块审查代码并决定是否添加。

git add -p

这样可以让你的提交更专注于单一任务,避免“混乱的提交历史”。


6. git status - 查看工作区状态

使用 git status 可以快速查看当前工作目录的状态,包括已修改、已暂存和未跟踪的文件:

git status

确保每次提交前检查状态,避免遗漏重要改动。


7. git log - 查看提交历史

git log 用于展示项目的完整提交历史。
• 完整历史:

git log

• 简洁版历史:

git log --oneline

8. git diff - 查看代码差异

git diff 能显示当前工作目录与上一次提交之间的差异:

git diff

它帮助你在提交前复查修改,避免不必要的错误。


9. git branch - 分支管理

分支管理是并行开发的核心。
• 列出所有分支:

git branch

• 创建新分支:

git branch feature-login

• 删除分支:

git branch -d feature-login

10. git checkout - 切换分支

git checkout 用于切换或新建分支:
• 切换分支:

git checkout feature-login

• 新建并切换分支:

git checkout -b feature-signup

11. git remote add origin - 连接远程仓库

设置远程仓库链接,方便推送和拉取代码:

git remote add origin https://github.com/user/repo.git

12. git pull 和 git push - 同步代码

• 拉取远程最新代码:

git pull origin main

• 推送本地修改到远程:

git push origin main

13. git reset - 撤销提交

git reset 用于回退到之前的提交:

git reset HEAD~1

谨慎使用,尤其在协作项目中,因为它会修改提交历史。


14. git stash - 临时保存工作区

如果需要临时切换任务,可以使用 git stash 暂存未完成的修改:

git stash

• 包括未跟踪文件:

git stash -u

15. git reflog - 恢复丢失的提交

git reflog 记录了Git命令的历史轨迹,帮助你找回丢失的提交或修改。

git reflog

结语

掌握这 15个Git基础命令,不仅能帮助你管理好代码,还能大大提升开发效率。随着熟练度的提高,你还可以探索更多进阶操作,进一步优化工作流。

Git的强大之处在于它的灵活性,而命令行是释放这种潜力的关键。试着将这些命令应用到你的日常开发中,让它们成为你开发工作的“得力助手”!

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...