当前位置: 首页 > news >正文

Linux和git常用命令

Git 是目前最流行的版本控制工具,掌控好常用命令能让你的开发生活事半功倍。下面我为你整理了一份详尽的Git常用命令指南,通俗易懂,适合各种技能层次的用户。


一、基本配置

  1. 设置用户名和邮箱(首次使用必做)

复制代码

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
  1. 查看当前配置

复制代码

git config --list

二、仓库操作

1. 初始化仓库

复制代码

git init

在当前目录新建一个Git仓库(会生成 .git 目录)。

2. 克隆远程仓库

复制代码

git clone <仓库地址>

比如:git clone https://github.com/username/repo.git

3. 查看仓库状态

复制代码

git status

显示哪些文件已改动、未跟踪。


三、文件的基本操作

4. 添加文件到暂存区(准备提交)

复制代码

git add <文件名>        # 添加单个文件
git add .               # 添加当前目录所有变更文件

5. 提交变更

复制代码

git commit -m "描述信息"

6. 查看提交历史

复制代码

git log

可以加参数:git log --oneline,变得简洁。

7. 添加到远程仓库

复制代码

git remote add origin <仓库地址>

8. 推送到远程库(提交到远端仓库)

复制代码

git push -u origin master   # 第一次推送,设置 upstream
git push                     # 之后推送当前分支

9. 拉取远程仓库最新代码

复制代码

git pull

四、分支操作

10. 查看所有分支

复制代码

git branch

11. 创建新分支

复制代码

git branch <分支名>

12. 切换分支

复制代码

git checkout <分支名>

或者新版本推荐:

复制代码

git switch <分支名>

13. 创建并切换到新分支

复制代码

git checkout -b <新分支名>

14. 合并分支(将某分支合入当前分支)

复制代码

git merge <要合并的分支>

15. 删除分支

复制代码

git branch -d <分支名>

五、撤销和修正

16. 撤销未提交的更改(还原文件)

复制代码

git checkout -- <文件名>

17. 取消暂存区的文件

复制代码

git reset HEAD <文件名>

18. 重置到某次提交(谨慎操作)

复制代码

git reset --hard <commit_id>

六、标签(版本管理)

19. 创建标签

复制代码

git tag <标签名>

20. 查看所有标签

复制代码

git tag

21. 给某次提交打标签

复制代码

git tag <标签名> <commit_id>

22. 推送标签到远程

复制代码

git push origin <标签名>

七、其他开发常用命令

23. 比较差异

复制代码

git diff             # 查看未暂存的更改
git diff --cached    # 查看已暂存但未提交的差异
git diff <分支1> <分支2> # 比较两个分支的差异

24. 保存临时变更(stash)

复制代码

git stash           # 临时保存工作区未提交的变动
git stash pop     # 恢复刚刚保存的内容

八、常用查看信息命令

  • 查看当前分支

复制代码

git branch
  • 查看远程仓库信息

复制代码

git remote -v
  • 查看某个文件的提交历史

复制代码

git log -- <文件名>

九、总结

操作命令示例作用
初始化仓库git init新建仓库
克隆远程仓库git clone <地址>拉取远程仓库
查看状态git status查看变更状态
添加变更到暂存区git add <文件名>准备提交
提交变更git commit -m "描述"保存快照
查看提交历史git log查看提交记录
推送到远程仓库git push上传本地变更
拉取远端最新代码git pull同步远端更新
新建与切换分支git checkout -b <分支名>新建并切换到新分支
合并分支git merge <分支名>合并另一个分支
打标签git tag <标签名>给特定版本打标签

 

Linux操作系统强大而灵活,掌握常用命令能帮助你高效管理和操作系统。下面我整理了一份Linux常用命令大全,涵盖文件管理、系统信息、用户管理、权限设置等方方面面,适合不同水平的用户学习和参考。


一、文件与目录管理

  1. 显示当前目录

复制代码

pwd
  1. 列出目录内容

复制代码

ls
ls -l        # 详细列表
ls -a        # 包含隐藏文件
  1. 切换目录

复制代码

cd <目录路径>
cd ~         # 进入用户主目录
cd -         # 返回上次目录
  1. 创建目录

复制代码

mkdir <目录名>
mkdir -p <多级目录路径>  # 递归创建
  1. 删除目录

复制代码

rmdir <目录名>         # 只删除空目录
rm -r <目录名>         # 递归删除
  1. 复制文件或目录

复制代码

cp <源> <目标>
cp -r <源目录> <目标目录>  # 复制目录
  1. 移动或重命名

复制代码

mv <源> <目标>
  1. 删除文件

复制代码

rm <文件名>
rm -f <文件名>          # 强制删除

二、文件内容查看与编辑

  1. 查看文件内容

复制代码

cat <文件>
more <文件>        # 分页显示
less <文件>        # 支持上下滚动
head <文件>        # 查看前几行
tail <文件>        # 查看后几行
tail -f <文件>     # 实时跟踪文件变化
  1. 搜索内容

复制代码

grep "关键词" <文件>
grep -r "关键词" <目录>   # 递归搜索
  1. 编辑文件

常用编辑器:

复制代码

vi <文件>
nano <文件>

三、文件权限与所有者

  1. 查看权限

复制代码

ls -l
  1. 修改权限

复制代码

chmod <权限> <文件>
# 例如:chmod 755 <文件>
  1. 修改所有者和所属组

复制代码

chown <用户>:<组> <文件>

四、系统信息与状态

  1. 查看当前登录用户

复制代码

who
  1. 查看所有登录用户

复制代码

w
  1. 查看系统信息

复制代码

uname -a
  1. 查看CPU、内存使用情况

复制代码

top
htop   # 需要安装,显示更友好
free -h
  1. 查看硬盘空间

复制代码

df -h
  1. 查看磁盘设备

复制代码

fdisk -l

五、用户与权限管理

  1. 添加新用户

复制代码

sudo useradd <用户名>
  1. 删除用户

复制代码

sudo userdel <用户名>
  1. 设置用户密码

复制代码

passwd <用户名>
  1. 添加到超级用户组(sudo权限)

复制代码

sudo usermod -aG sudo <用户名>

六、包管理(以Ubuntu/Debian为例)

  1. 更新软件包列表

复制代码

sudo apt update
  1. 升级所有已安装软件包

复制代码

sudo apt upgrade
  1. 安装软件包

复制代码

sudo apt install <包名>
  1. 删除软件包

复制代码

sudo apt remove <包名>

七、网络相关

  1. 查看网络接口

复制代码

ifconfig
# 或者
ip addr
  1. 测试网络连接

复制代码

ping <域名/IP>
  1. 查看开放端口和网络连接

复制代码

netstat -tulnp
# 也可以用
ss -tulnp

八、进程管理

  1. 查看所有正在运行的进程

复制代码

ps aux
  1. 根据名称查找进程

复制代码

ps aux | grep <进程名>
  1. 终止进程

复制代码

kill <PID>
kill -9 <PID>    # 强制杀死

九、压缩解压

  1. 压缩文件

复制代码

tar -czf <压缩包名>.tar.gz <目录/文件>
  1. 解压

复制代码

tar -xzf <压缩包>.tar.gz

十、用户自定义与脚本

  1. 编写简单脚本

使用 bash 脚本进行自动化任务。

http://www.dtcms.com/a/286557.html

相关文章:

  • TF-IDF(Term Frequency - Inverse Document Frequency)
  • RFID技术赋能智慧物流:实现搬运环节的精准化与高效化
  • 【PTA数据结构 | C语言版】多叉堆的上下调整
  • 【LeetCode 2163. 删除元素后和的最小差值】解析
  • 上市公司-企业超额商誉数据(2005-2023年)-实证数据
  • 《C++继承深度引擎:从内存布局到多态全景拆解》​
  • 飞算科技:以创新科技引领数字化变革,旗下飞算 JavaAI 成开发利器
  • Linux Master 知识库 —— 致 Linux 系统工程师
  • 通信算法之294:LTE系统中的整数倍频偏估计
  • 太阳辐射监测站:洞察太阳能量的科技之眼
  • 【软件系统架构】系列七:系统性能——路由器性能深入解析
  • 告别宕机!Ubuntu自动重启定时任务设置(一键脚本/手动操作)
  • [Raspberry Pi]如何將無頭虛擬顯示器服務(headless display)建置在樹莓派的Ubuntu桌面作業系統中?
  • 汽车免拆诊断案例 | 07款丰田Hilux启动故障
  • Redis——MoreKey
  • 深入理解进程地址空间:虚拟内存与进程独立性
  • nodeJs笔记(六)
  • Ubuntu系统下交叉编译Android的X265库
  • 【leetcode】3202. 找出有效子序列的最大长度(2)
  • 联合利华发起TRO维权行动,OUAI商标或引发跨境圈大批量冻结
  • 密码学基础概念详解:从古典加密到现代密码体系
  • 函数指针和指针函数
  • 【非辐射复合】半导体中非辐射载流子复合的双能级机制
  • 储能BMS通信“卡壳”?CAN转EtherCAT让电池数据“跑起来”
  • animation-timing-function动画的速度曲线
  • 面试150 被围绕的区域
  • 数据结构——单调栈
  • PHP语法高级篇(三):过滤器与JSON
  • 计算机“十万个为什么”之跨域
  • STM32 RTOS 开发基础:从任务管理到同步机制的全面解析