Git版本控制命令完全指南
需积分: 1 189 浏览量
更新于2024-08-05
收藏 2KB TXT 举报
"Git版本操作命令大全,包括创建、提交、查看、回退等核心命令,以及GitHub相关操作,如SSH密钥配置和远程仓库管理。"
Git是分布式版本控制系统,用于跟踪对文件和项目的变化。以下是Git常用的一些关键命令及其功能:
1. `git init`: 在当前目录创建一个新的Git仓库。
2. `git add <file>`: 将指定文件添加到暂存区,准备进行下一次提交。
3. `git commit -m "描述信息"`: 提交暂存区中的所有改动到仓库,其中“描述信息”是对本次提交的注释。
4. `git status`: 查看工作目录和暂存区的状态,显示哪些文件被修改、添加或删除。
5. `git restore --staged <file>`: 从暂存区移除文件,但不改变工作目录中的文件状态。
6. `git restore <file>`: 从工作目录中恢复文件到最近的提交状态,同时也会从暂存区移除。
7. `git add <file>` 和 `git commit -m "描述信息"`: 结合使用可将改动提交到新的版本。
8. `git log`: 查看提交历史,显示每个提交的作者、时间戳和描述。
9. `git reset <commit>`: 回退到指定的提交,所有之后的提交都会丢失。
10. `git reset --soft <commit>`: 只移动HEAD指针,保留更改在暂存区。
11. `git reset --hard <commit>`: 强制回退到指定提交,丢弃所有未提交的改动。
12. `git reset HEAD~1` 和 `git reset HEAD~2`: 分别回退到上一个和上两个提交。
13. `git mv <file1> <file2>`: 重命名或移动文件,并在Git中记录这个操作。
14. `git rm <file>`: 删除文件并从版本控制中移除。
15. `git restore --staged <file>`: 从暂存区恢复文件到最近的提交,但不从工作目录中删除。
16. `git branch`: 显示当前分支。
17. `git branch -a`: 显示所有分支,包括本地和远程分支。
18. `git checkout <branch>`: 切换到指定分支。
19. `git log --oneline --decorate --graph --all`: 以简洁的格式显示分支历史。
20. `git merge <branch>`: 合并指定分支到当前分支,通常用于将开发分支合并到主分支。
关于GitHub的操作:
1. SSH密钥生成: 使用`ssh-keygen -t rsa -C "邮箱"`生成SSH密钥,`id_rsa`是私钥,`id_rsa.pub`是公钥。将公钥添加到GitHub账户的SSH设置中,以便安全地与远程仓库交互。
2. 配置远程仓库: `git remote add origin <远程仓库URL>`将远程仓库链接到本地仓库。
3. 推送代码: `git push -u origin master`首次推送本地的master分支到远程仓库的master分支,`-u`选项用于设置追踪关系。后续可简化为`git push origin master`或`git push origin <其他分支>`。
4. 克隆远程仓库: `git clone <SSH地址>`将远程仓库克隆到本地。
5. 拉取远程更新: `git pull origin <分支>`从远程仓库拉取并合并更新。
这些命令构成了Git日常操作的基础,理解并熟练掌握它们对于有效地管理和协作开发项目至关重要。
2021-05-25 上传
2018-04-28 上传
2023-02-20 上传
2024-03-14 上传
2023-05-19 上传
2023-10-20 上传
2024-07-18 上传
2023-06-01 上传
2024-04-10 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
qq_21263617
- 粉丝: 0
- 资源: 1
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南