### Git常用命令详解 #### 一、初始化与配置 - **`git init`**:用于在当前目录下初始化一个新的Git仓库。执行此命令后,会在当前目录下创建一个名为`.git`的隐藏目录,用于存储所有与版本控制相关的元数据。 #### 二、远程仓库管理 - **`git remote remove <远程仓库标识名>`**:从本地Git配置中删除指定的远程仓库。 - **`git remote -v`**:列出所有已添加的远程仓库及其URL。 - **`git clone <远程仓库地址>`**:从远程仓库克隆一份完整的代码副本到本地。 - **`git remote add <远程仓库标识名> <远程仓库地址>`**:向当前Git项目添加一个新的远程仓库。 - **`git remote rename <旧远程仓库标识名> <新远程仓库标识名>`**:更改远程仓库在本地的标识名称。 #### 三、文件的添加与提交 - **`git add <文件名>`**:将指定文件加入到暂存区,准备提交。 - **`git commit -m "本次提交的内容详情"`**:将暂存区中的文件提交到本地仓库,并附带提交说明。 #### 四、版本回退与查看 - **`git log`**:显示从首次提交至今的所有提交历史记录。 - **`git log --pretty=oneline`**:以简化形式展示提交历史记录。 - **`git reflog`**:列出所有分支的历史版本,包括那些已经被删除或覆盖的版本。 - **`git reset --hard HEAD^`**:将当前分支回退到最近一次提交之前的状态。HEAD^ 表示上一次提交,HEAD^^ 表示上上一次提交。 - **`git reset --hard <历史编号>`**:根据版本号回退到特定版本。通常只需要提供版本号的一部分即可。 - **`git reset --hard HEAD <文件名>`**:将指定文件的状态回退到暂存区,即撤销对该文件的改动。 - **`git diff HEAD -- <文件名>`**:比较工作区中的文件与最近一次提交的版本之间的差异。 #### 五、撤销修改 - **`git checkout -- <文件名>`**:撤销工作区中文件的修改,使之回到与版本库中一致的状态。有两种情况: - 文件尚未被添加到暂存区,此时撤销后文件回到初始状态。 - 文件已被添加到暂存区后又进行了修改,此时撤销后文件回到暂存区的状态。 #### 六、文件删除 - **`git rm <文件名>`**:从版本库中删除指定文件,同时从工作区中移除该文件。 #### 七、分支管理 - **`git branch`**:列出所有分支及当前所处的分支。 - **`git branch <分支名>`**:创建一个新的分支。 - **`git branch -d <分支名>`**:删除指定的分支。 - **`git checkout -b <分支名>`**:新建一个分支并立即切换到该分支。 - **`git checkout <分支名>`**:切换到指定分支。 - **`git merge <分支名>`**:将指定分支合并到当前分支。 - **`git merge --no-ff <分支名>`**:合并分支时不使用快进模式,保留分支的提交历史。 #### 八、暂存区管理(Stashing) - **`git stash`**:保存当前工作区的状态,并使工作区回到干净的状态。 - **`git stash list`**:列出所有已暂存的工作状态。 - **`git stash apply <工作区栈项>`**:恢复指定的暂存工作状态。 - **`git stash drop <工作区栈项>`**:删除指定的暂存工作状态。 - **`git stash pop`**:恢复最近一次暂存的工作状态,并将其从暂存列表中移除。 - **`git stash clear`**:清空所有暂存的工作状态。 #### 九、标签管理 - **`git tag v1.0`**:为当前分支打上版本标签。 - **`git tag v1.0 <commit_id>`**:为历史版本打上标签。 - **`git tag`**:查看所有标签。 - **`git tag -a v0.1 -m "文字说明" <commit_id>`**:为历史版本创建带有说明信息的标签。 - **`git show v0.1`**:查看标签的信息。 - **`git tag -s v0.1 -m "文字说明" <commit_id>`**:创建带有签名的标签。这需要安装 GnuPG 并拥有相应的密钥对才能执行。可以通过 `git show <tagname>` 查看签名信息。 以上命令涵盖了Git中常用的命令操作,熟练掌握这些命令可以帮助开发者高效地进行版本控制和协作开发。无论是初学者还是有经验的开发者,在日常工作中都会频繁使用到这些命令。
































- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 市政公用工程项目管理问题及对策分析.docx
- PLC水厂滤池自动控制系统设计方案大学课程设计方案.doc
- matlab-Matlab资源
- s学校计算机机房的建设与维护内容探讨.doc
- 电动车基础设施-高级装备工程-ITUPS通信电源.doc
- 韩军“网络空间战”建设现状及发展趋势.doc
- 数控加工编程基础课件.ppt
- 基于单片机的对加热炉温控制系统研究设计.doc
- 工程教育认证背景下电气工程及其自动化专业建设探索与实践.docx
- 民族地区中职校计算机应用示范特色专业及实训基地建设的实践探索.docx
- 5G网络认证协议和非接入层协议安全性探究.docx
- 构建企业网络安全方案.doc
- Mcontroller-v7-FanciSwarm-机器人开发资源
- 宁夏高等学校科学技术研究项目管理办法.doc
- VB.液晶显示系统设计方案.doc
- 大数据背景下乳制品企业品牌竞争力评价研究.docx


