基础 Git 操作
仓库初始化
# 创建新的仓库gitinit# 克隆已经存在的仓库gitclone<repository_URL>文件操作
# 将文件添加到暂存区(Staging Area)gitadd<file_name># 添加单个文件gitadd.# 添加当前目录下所有修改和新增的文件gitadd*.js# 添加所有后缀为 .js 的文件gitadd-p# 交互式暂存,可以选择文件内容的某一部分进行暂存# 提交更改gitcommit -m"descriptive commit message"gitcommit -a -m"add and commit in one step"gitcommit --amend# 修改上一次提交(例如,修改提交信息或添加遗漏的文件)# 查看提交历史的不同变体gitlog --oneline# 紧凑的单行显示模式gitlog --graph# 以图形化形式显示分支历史gitlog --stat# 显示每次提交修改了哪些文件及统计信息gitlog -p# 显示每次提交的详细补丁内容/差异对比文件管理命令
# 移动/重命名文件gitmvold_filename.txt new_filename.txt# 将文件重命名gitmvfile.txt subfolder/file.txt# 将文件移动到子文件夹# 从 Git 跟踪中移除文件gitrmfile.txt# 删除文件并从 Git 跟踪中移除gitrm--cached file.txt# 仅从 Git 暂存区移除跟踪,保留本地文件gitrm-r folder/# 递归删除目录及其内容# 恢复文件(Git 2.23+ 推荐用法)gitrestore file.txt# 撤销工作目录中对该文件的修改gitrestore --staged file.txt# 将暂存区的该文件取消暂存(放回工作目录)gitrestore --source=HEAD~1 file.txt# 从特定的提交(这里是上一次提交)恢复文件内容# 清理未跟踪的文件gitclean -n# 试运行:显示哪些文件将被删除,但不实际执行gitclean -f# 强制删除未跟踪的文件gitclean -fd# 强制删除未跟踪的文件和目录gitclean -fx# 强制删除未跟踪和被 .gitignore 忽略的文件# 列出被跟踪的文件gitls-files# 显示所有被 Git 跟踪的文件gitls-files --others# 显示未被跟踪的文件gitls-files --ignored# 显示被忽略的文件查看变更信息
# 显示特定提交的详细信息gitshow<commit_hash># 显示提交详情和差异对比(diff)gitshow HEAD~1# 显示上一次提交的详情gitshow --name-only<commit># 仅显示发生更改的文件名称gitshow --stat<commit># 显示文件的修改统计信息# 文件追溯(查看谁修改了哪一行)gitblame file.txt# 逐行显示作者信息gitblame -L10,20file.txt# 查看指定行范围(第 10 到 20 行)的作者信息