每个 Tester 都应该知道的 Git 命令

简介: 每个 Tester 都应该知道的 Git 命令

Git 初始化

初始化代码仓库

创建一个空的 Git 仓库或者重新初始化一个已存在的

git init
复制代码

克隆代码仓库

foo 仓库克隆到一个名为 foo 的新目录中:

git clone https://github.com/<username>/foo.git foo
复制代码

Git 分支

如何在 Git 仓库中创建一个新的分支

当您想开发一个新需求时,通常会在 Git 中创建一个新分支。可以远离主分支,处理自己的需求分支,这样 master 分支总是干净的。

要创建新分支

git checkout -b <new_branch_name>
复制代码

如何在获取 Git 中所有分支

如果您想知道工作目录中有哪些分支可用,请使用:

git branch
复制代码

输出示例:

develop
my_feature
master
复制代码

如何在 Git 中切换分支

创建新分支时,Git 会自动切换到新分支。

如果您有多个分支,那么可以使用 git checkout 轻松切换分支:

git checkout master
git checkout develop
git checkout my_feature
复制代码

如何在 Git 中删除分支

要删除本地分支:

git checkout -d<local_branch>
复制代码

使用 -D 参数强制执行删除。

如果要删除源上的远程分支,请执行以下操作:

git push origin :<remote_branch>
复制代码

相关文章:

Git 暂存

暂存文件只是为提交做准备。当你添加或修改一些文件时,你需要将这些更改放到 Git 的“暂存区”。”暂存区“就像一个盒子,你把东西放在里面,然后再把这个盒子放在床下,而你的床是一个储存库,里面存放着你以前放过的盒子。

Git 暂存区文件

要往暂存区添加文件,可以使用 git add 命令。可以暂存单个文件:

git add foo.js
复制代码

或一次添加所有文件:

git add .
复制代码

Git 撤销暂存

如果要从暂存区中删除某个文件:

git reset HEAD foo.js
复制代码

或删除所有暂存文件:

git rest HEAD .
复制代码

您还可以为命令创建别名,然后将其与 Git 一起使用:

git config --global alias.unstage 'reset HEAD'
git unstage .
复制代码

Git 状态

如果您想查看哪些文件已被创建、修改或删除,可以通过 git status 查看。

git status
复制代码

Git 提交

经常提交是一个好习惯。你总是可以在推送之前合并你的提交。在提交之前,需要将文件添加到暂存区。

commit 命令需要指定 -m 选项。

您可以像这样提交:

git commit-m “更新内容描述”
复制代码

撤消提交

以下命令将撤消您最近的提交,并将这些更改放回暂存区,这样您就不会丢失任何内容:

git reset --soft HEAD~1
复制代码

要完全删除提交并删除所有更改,请使用:

git reset --hard HEAD~1
复制代码

合并提交

假设您有4个提交,但您还没有向仓库推送任何内容,并且您希望将所有内容放入一个提交中,那么您可以使用:

git rebase -i HEAD~4
复制代码
  • HEAD~4指的是最后四次提交。
  • -i选项打开一个交互式文本文件。

您将在每次提交的左侧看到“pick”一词。保留顶部的一个,并将所有其他的替换为“s”以进行挤压,保存并关闭文件。

然后打开另一个交互式窗口,您可以在其中将提交消息更新为一个新的提交消息。

Git 推送

在提交更改后,下一步是推送到远程仓库。

第一次推送

首次推送本地分支:

git push --set-upstream origin <branch>
复制代码

之后,您可以使用

git push
复制代码

将本地分支推送到不同名称的远程分支

要将本地分支推送到其他远程分支,可以使用:

git push origin <local_branch>:<remote_branch>
复制代码

撤消上次推送

如果您必须撤消上一次推送,可以使用:

git reset --hard HEAD~1 && git push -f origin master
复制代码

Git 获取

当使用 git fetch 时,git不会将其他提交与当前分支合并。如果您需要使存储库保持最新,但正在处理可能会在更新文件时损坏的内容,这一点尤其有用。

要将提交集成到主分支中,可以使用merge。

获取远程仓库更新

git fetch upstream
复制代码

Git 拉取

拉取只是执行一次提取,然后执行一次合并。当使用 git pull 时,git 会自动合并其他提交,而不是查看它们。如果不密切管理分支,可能会遇到冲突。

拉取一个分支

如果您有一个名为 my_feature 的分支,并且希望拉取该分支,可以使用:

git origin/my_feature
复制代码

拉取全部内容

或者,如果你想把所有的东西和所有其他的分支都拉取出来

git pull
复制代码

Git 合并和变基

当运行 git merge时,HEAD 分支将生成一个新的提交,保留每个提交历史。

重新基础将一个分支的更改重新写入另一个分支,而不创建新的提交。

将主分支合并到指定分支

git checkout my_feature
git merge master
复制代码

或者使用 rebase 选项,您可以使用:

git checkout my_feature
git rebase master
复制代码

将指定分支合并到主分支

git checkout master
git merge my_feature
复制代码

Git Stash

有时您在一个分支上进行更改,并希望切换到另一个分支,但不希望丢失更改。

你可以把这些更改隐藏起来。执行如下命令可以在Git中隐藏更改:

git stash
复制代码

现在,如果您想取消隐藏这些更改并将其带回工作目录,请使用:

git stash pop


相关文章
|
1月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
175 15
|
4月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
316 57
|
2月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
864 0
|
5月前
|
存储 项目管理 开发工具
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
135 20
|
7月前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
1028 60
|
6月前
|
Linux 开发工具 git
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
221 28
|
11月前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
9月前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
9月前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
10月前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
255 3