[1 git的操作命令有哪些](#1 git的操作命令有哪些)
[2 PyCharm 中常用的 Git 操作命令](#2 PyCharm 中常用的 Git 操作命令)
[3 -b参数的使用](#3 -b参数的使用)
[4 stash命令在git中的使用](#4 stash命令在git中的使用)
[5 rebase在git中的使用](#5 rebase在git中的使用)
1 git的操作命令有哪些
shell
1. **初始化一个新的仓库**:
git init
2. **克隆仓库**:
git clone <repository_url>
3. **添加文件到暂存区**:
git add <file1> <file2> ...
或者
git add . # 一定要注意后面的这个点
4. **提交更改**:
git commit -m "Commit message"
5. **查看状态**:
git status
6. **查看提交历史**:
git log
7. **创建分支**:
git branch <branch_name>
8. **切换分支**:
git checkout <branch_name>
9. **合并分支**:
git merge <branch_name>
10. **拉取远程仓库的变化**:
git pull
11. **推送本地提交到远程仓库**:
git push
12. **查看远程仓库**:
git remote -v
13. **添加远程仓库**:
git remote add <remote_name> <repository_url>
14. **创建并切换到新分支**:
git checkout -b <branch_name>
15. **删除分支**:
git branch -d <branch_name>
16. **撤销工作目录中的修改**:
git checkout -- <file>
17. **撤销已暂存的修改**:
git reset HEAD <file>
18. **重置当前分支到指定提交**:
git reset --hard <commit_hash>
19. **查看远程仓库的分支**:
git branch -r
20. **创建标签**:
git tag <tag_name>
2 PyCharm 中常用的 Git 操作命令
shell
1. **克隆仓库**:
- 命令:`git clone <repository_url>`
- 示例:在 PyCharm 中选择 "VCS" -> "Get from Version Control" -> "Git",然后输入远程仓库的 URL 并点击 "Clone"。
2. **添加文件到暂存区**:
- 命令:`git add <file1> <file2> ...`
- 示例:在项目视图中右键单击要添加的文件或文件夹,然后选择 "Git" -> "Add"。
3. **提交更改**:
- 命令:`git commit -m "Commit message"`
- 示例:使用快捷键 "Ctrl + K"(Windows/Linux)或 "Cmd + K"(Mac),然后在弹出的对话框中输入提交消息并点击 "Commit"。
4. **拉取远程仓库的变化**:
- 命令:`git pull`
- 示例:选择 "VCS" -> "Git" -> "Pull"。
5. **推送本地提交到远程仓库**:
- 命令:`git push`
- 示例:选择 "VCS" -> "Git" -> "Push"。
6. **查看提交历史**:
- 命令:`git log`
- 示例:选择 "VCS" -> "Show Changes View",然后点击 "Log" 选项卡。
7. **创建分支**:
- 命令:`git branch <branch_name>`
- 示例:选择 "VCS" -> "Git" -> "Branches" -> "New Branch",然后输入分支名称并点击 "Create".
8. **切换分支**:
- 命令:`git checkout <branch_name>`
- 示例:选择 "VCS" -> "Git" -> "Branches",然后右键单击要切换的分支并选择 "Checkout".
9. **合并分支**:
- 命令:`git merge <branch_name>`
- 示例:选择 "VCS" -> "Git" -> "Merge Changes",然后选择要合并的分支并点击 "Merge".
10. **撤销工作目录中的修改**:
- 命令:`git checkout -- <file>`
- 示例:在文件视图中右键单击要撤销修改的文件,然后选择 "Git" -> "Revert".
11. **查看远程仓库的分支**:
- 命令:`git branch -r`
- 示例:选择 "VCS" -> "Git" -> "Branches",然后在远程分支下查看。
3 -b参数的使用
shell
在 Git 中,`-b` 参数通常与 `git checkout` 命令一起使用,用于创建并切换到新的分支。
具体用法是:
git checkout -b <branch_name>
这条命令的含义是:在当前所在的分支基础上创建一个新的分支 `<branch_name>`,
然后切换到这个新创建的分支上。
举个例子,假设你当前在 `master` 分支上,想要创建并切换到一个新的分支 `feature` 上,
可以使用以下命令:
git checkout -b feature
这个命令等同于以下两条命令的组合:
git branch feature # 创建一个名为 feature 的分支
git checkout feature # 切换到 feature 分支
使用 `-b` 参数可以简化这个过程,让这两个步骤合并为一步。这对于快速创建并切换到新分支是非常方便的。
4 stash命令在git中的使用
shell
在 Git 中,`stash` 是一个非常有用的功能,它允许你在切换分支或者处理其他任务时,
暂时将当前工作目录的修改存储起来,以便稍后恢复。
以下是 `stash` 在 Git 中的使用方法:
1. **暂存工作目录的修改**:
git stash
这个命令会将工作目录中未暂存的修改(包括已跟踪和未跟踪的文件)存储到一个临时的存储区域中。
2. **查看暂存区域的修改**:
git stash list
这个命令会列出当前存在的所有 stash。
3. **应用最近一次 stash**:
git stash apply
这个命令会将最近一次 stash 的修改应用到当前工作目录,但不会删除 stash。
4. **应用指定的 stash**:
git stash apply stash@{n}
这个命令会将指定的 stash(`stash@{n}` 中的 `n` 是 stash 的索引)的修改应用到当前工作目录,但不会删除 stash。
5. **删除最近一次 stash**:
git stash drop
这个命令会删除最近一次 stash。
6. **删除指定的 stash**:
git stash drop stash@{n}
这个命令会删除指定的 stash(`stash@{n}` 中的 `n` 是 stash 的索引)。
7. **应用并删除最近一次 stash**:
git stash pop
这个命令会将最近一次 stash 的修改应用到当前工作目录,并删除该 stash。
8. **清除所有 stash**:
git stash clear
这个命令会删除所有 stash。
`stash` 功能非常方便,特别是当你需要暂时保存当前工作进度并切换到其他任务时。
通过 `stash`,你可以确保你的修改不会丢失,并且可以随时恢复到之前的状态。
5 rebase在git中的使用
shell
在 Git 中,`rebase` 是一个用于将一个分支的修改应用到另一个分支的操作,它可以将一系列的提交重新应用到另一个基底上。
相比于 `merge`,`rebase` 会重新组织提交历史,使得分支合并后的提交历史更加清晰。
以下是 `rebase` 在 Git 中的使用方法:
1. **基本的 rebase 操作**:
git checkout <feature_branch>
git rebase <base_branch>
这个命令会将 `<feature_branch>` 分支上的修改重新应用到 `<base_branch>` 分支的顶端。在这个过程中,Git 会将 `<feature_branch>` 分支上的提交逐个应用到 `<base_branch>` 分支上,并且重新构建提交历史。
2. **交互式 rebase**:
git rebase -i <base_branch>
这个命令会打开一个交互式的界面,允许你对 rebase 过程进行更精细的控制。你可以在这个界面中对提交进行重新排序、合并、编辑提交消息等操作。
3. **跳过提交**:
如果在 rebase 过程中遇到冲突或者需要跳过某些提交,可以使用 `--skip` 选项:
git rebase --skip
4. **中止 rebase**:
如果在 rebase 过程中出现问题,可以使用 `--abort` 选项中止 rebase:
git rebase --abort
5. **强制 rebase**:
如果你知道自己在做什么,并且确定要强制执行 rebase,可以使用 `-f` 或 `--force` 选项:
git rebase -f <base_branch>
`rebase` 可以使得分支的提交历史更加线性和清晰,但需要注意的是,由于 `rebase` 会改写提交历史,
因此在与他人共享的分支上使用 `rebase` 时,需要谨慎操作,以免导致提交历史的混乱。