### Git常用命令详解 #### 一、生成密钥对 - **命令**: `ssh-keygen -trsa -C "你的邮箱"` - **说明**: 此命令用于生成SSH密钥对,其中`-t rsa`指定了密钥类型为RSA,`-C "你的邮箱"`则是将你的邮箱地址作为注释添加到公钥中,方便识别。 - **步骤**: 1. 打开命令行工具。 2. 输入上述命令,按提示操作。 3. 生成密钥对后,使用文本编辑器(例如Notepad++)打开公钥文件`c:/User/Administrator/.ssh/id_rsa.pub`。 4. 将公钥内容复制并添加到GitLab或其他版本控制系统中对应用户的SSH密钥配置。 #### 二、获取远程git库 - **命令**: `git clone <库名>` - **示例**: `git clone git@github.com:fanz01/gitTest.git` - **说明**: 使用该命令可以从远程仓库克隆项目到本地。 - **参数**: `<库名>`是指远程仓库的URL。 #### 三、添加、提交、推送修改 - **添加到本地工作目录** - `git add <name>`: 添加指定文件。 - `git add .`: 添加当前目录下的所有文件和子目录。 - `git add *.txt`: 添加所有以.txt为扩展名的文件。 - **提交写注释** - `git commit <name> -m "提交注释"`: 提交指定文件,并附带提交注释。 - `git commit -m "提交注释"`: 提交当前目录下所有文件及子目录,并附带提交注释。 - **推送至远程服务器** - `git push`: 将文件推送到远程服务器当前分支。 - `git push origin <branchname>`: 将文件推送到远程服务器指定分支。 #### 四、获取最新版本 - **命令**: - `git fetch origin <branchname>`: 从远程仓库获取最新版本到本地,但不自动合并。 - `git pull origin <branchname>`: 从远程仓库获取最新版本,并自动合并到本地,等同于先执行`git fetch`再执行`git merge`。 - **强制获取版本** 1. `git fetch --all`: 获取所有远程分支的最新版本。 2. `git reset --hard origin/master`: 删除本地修改,将本地版本重置为远程仓库的master分支版本。 #### 五、分支管理 - **查看分支**: `git branch` - **创建分支**: `git branch <branchname>` - **创建并切换分支**: `git checkout -b <branchname>` - **推送分支到远端**: `git push origin <branchname>` - 示例: `git push origin test:master`表示将本地的test分支提交到远程的master分支。 - 示例: `git push origin test:test`表示将本地的test分支提交到远程的test分支。 - **切换分支**: `git checkout <branchname>` - **合并分支**: `git merge <branchname>` - **示例**: 合并develop分支到master分支: 1. 切换到master分支: `git checkout master` 2. 执行合并操作: `git merge develop` 3. 解决冲突: 如果出现冲突,使用`git status`查看冲突文件,解决冲突后使用`git add`将文件暂存,最后使用`git commit`提交更改。 - **删除本地分支**: `git branch -d <branchname>` - **删除远程分支**: `git push origin :<branchname>` #### 六、标签管理 - **查看标签**: `git tag` - **创建标签** - `git tag <name>`: 创建一个新标签,默认为HEAD。 - `git tag -a <tagname> -m "blablabla"`: 创建带注释的新标签。 - `git tag -s <tagname> -m "blablabla"`: 创建带有PGP签名的新标签。 - **推送标签** - `git push origin <tagname>`: 推送一个本地标签到远程仓库。 - `git push origin --tags`: 推送所有未推送过的本地标签到远程仓库。 - **删除标签** - `git tag -d <tagname>`: 删除本地标签。 - `git push origin :refs/tags/<tagname>`: 删除远程仓库中的标签。 #### 七、历史版本 - **命令**: `git log` - **说明**: 查看项目的提交历史记录。 - **查看当前修改状态**: `git status` - **恢复到指定历史版本**: `git reset <log>` #### 八、替换或放弃本地修改 - **替换或放弃本地修改**: `git checkout -- "file"` - **说明**: 相当于SVN的revert,使用仓库版本替换本地文件。 - **从暂存区恢复到工作文件**: `git reset <file>` - **从暂存区恢复所有工作文件**: `git reset -- .` - **恢复最近一次提交的状态**: `git reset --hard` - **说明**: 放弃上次提交后的所有本地修改。 #### 九、锁定分支,控制提交 - **操作**: - 需要有master权限,登录GitLab网站进入项目设置。 - 在项目设置中找到“Protected branches”选项。 - 在这里可以设置哪些分支被保护,不允许随意提交或删除。 - 这样做可以确保关键分支(如master或main分支)的安全性和稳定性。
- 粉丝: 69
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助