“一天一个 Git pull 让冲突远离”
" Type="normal"SectionTitle="init" Type="normal"@@该git init命令会初始化一个新的 Git 存储库。此命令用于开始跟踪项目中的更改。一旦运行此命令,Git 就会创建一个新的.git 目录,其中包含开始使用 Git 进行版本控制所需的所有文件。初始化后,Git 会跟踪对代码所做的所有更改并创建提交历史记录。
$ git initInitialized empty Git repository in /path/to/repository/.git/
" Type="normal"SectionTitle="Git clone" Type="normal"@@该git clone命令会在本地计算机上创建远程 Git 存储库的副本。这是开始处理新项目或与他人协作处理现有项目的好方法。当您运行此命令时,Git 会将整个存储库(包括所有分支和历史记录)下载到您的本地计算机。
$ git clone https://github.com/username/repository.git
" Type="normal"SectionTitle="add" Type="normal"@@该git add命令将新文件或修改后的文件添加到暂存区,以准备提交它们。暂存区是一个临时存储区,您可以在提交更改之前准备更改。您可以使用此命令指定单个文件或目录。Git 分三个阶段跟踪变更——修改、暂存和提交。add 命令将更改从已修改阶段移动到暂存阶段。要将当前目录中的所有更改添加到暂存区,请运行:
$ git add file.txt
git add .
" Type="normal"SectionTitle="Git Commit" Type="normal"-->该git commit命令使用您添加到暂存区域的更改创建一个新提交。提交是存储库在特定时间点的快照,每个提交都有一个唯一标识符。该git commit命令记录对存储库的更改。提交包括描述所做更改的提交消息。要提交对存储库的更改,请运行以下命令:
$ git commit -m "Added new feature"
" Type="normal"SectionTitle="Git Status" Type="normal"@@
该git status命令向您显示存储库的当前状态,包括已进行的任何更改以及当前暂存哪些文件以供提交。它会告诉您哪些文件被修改、哪些文件已暂存以及哪些文件未被跟踪。
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage)
modified: file.txt
Git Log
该git log命令向您显示已对存储库进行的所有提交的历史记录。您可以使用此命令查看谁对存储库进行了更改以及这些更改的更改时间以及更改的作者、日期和提交消$ git log
commit 5d5b5e5dce7d1e09da978c8706fb3566796e2f22
Author: John Doe
Date: Tue Mar 23 14:39:51 2023 -0400
Added new feature
- git log --graph:以图形格式显示提交历史记录。
- git log --oneline:以压缩格式显示提交历史记录。
- git log --follow:除了重命名之外,还跟踪文件的历史记录。
Git Diff
该git diff命令向您显示文件的当前版本与先前版本之间的差异。当您想查看对文件所做的更改时,此命令很有用。当您运行此命令时,Git 会向您显示两次提交之间或一次提交与当前工作目录之间所做的更改。这将向您显示当前分支和“feature_branch”分支之间的差异。$ git diff feature_branch" Type="normal"SectionTitle="Git Branch" Type="normal"@@该git branch命令会向您显示 Git 存储库中所有分支的列表。您可以使用此命令查看您当前所在的分支并创建新分支。此命令用于创建、列出或删除分支。
$ git branch feature-1
" Type="normal"SectionTitle="Git Checkout" Type="normal"@@该git checkout命令用于在分支之间切换。您可以使用此命令切换到不同的分支或创建新分支。
$ git checkout feature-1
" Type="normal"SectionTitle="Git Merge" Type="normal"@@该git merge命令用于将更改从一个分支合并到另一个分支。当您想要合并来自不同分支的更改时,此命令很有用。当您运行此命令时,Git 会合并来自两个分支的更改并创建一个新的提交。
$ git merge feature-1
" Type="normal"SectionTitle="Git pull" Type="normal"@@该git pull命令用于使用来自远程存储库的更改来更新本地存储库。此命令用于从远程存储库下载更改并将它们合并到当前分支中。当您运行此命令时,Git 会将来自远程存储库的更改与您的本地更改结合起来并创建一个新的提交。
$ git pull origin master
" Type="normal"SectionTitle="Git Push" Type="normal"@@该git push命令用于将您的更改推送到远程存储库。当您想与他人共享您的更改时,此命令很有用。当您运行此命令时,Git 会将您的提交发送到远程存储库并更新远程分支。
$ git push origin master
" Type="normal"SectionTitle="Git Remote" Type="normal"@@此命令用于管理您的Git 存储库连接到的远程存储库。它允许您添加、重命名或删除远程存储库。
- git remote rm:删除远程存储库。
- git remote show:显示有关特定远程存储库的信息。
- git remote rename:重命名远程存储库。
" Type="normal"SectionTitle="Git Fetch" Type="normal"@@此命令用于将更改从远程存储库下载到本地存储库。当您运行此命令时,Git 会使用远程存储库中的最新更改更新您的本地存储库,但不会将它们合并到您当前的分支中。
$ git fetch origin
" Type="normal"SectionTitle="Git Reset" Type="normal"@@此命令用于取消暂存区中的更改或撤消提交。当您运行此命令时,Git 会从暂存区域中删除更改或将存储库倒回至之前的提交。
$ git reset file.txt
" Type="normal"SectionTitle="Git Stash" Type="normal"SectionTitle="" Type="normal"@@此命令用于临时保存尚未准备好提交的更改。当您运行此命令时,Git 会将您的更改保存在一个临时存储区域并将存储库恢复到之前的状态。
$ git stash save "Work in progress"
“为什么 Git 用户会变成魔术师?因为他们喜欢 git stash 并让他们的代码消失”
" Type="normal"SectionTitle="Git Cherry-Pick" Type="normal"@@此命令用于将特定提交应用到不同的分支。当您运行此命令时,Git 会从指定的提交中复制更改并将它们应用到您当前的分支。
$ git cherry-pick 5d5b5e5dce7d1e09da978c8706fb3566796e2f22
" Type="normal"SectionTitle="Git Rebase" Type="normal"@@此命令用于将来自两个分支的更改合并到一个分支中。当您运行此命令时,Git 将更改从一个分支重播到另一个分支并创建一个新的提交。
$ git rebase feature-1
" Type="normal"SectionTitle="Git Tag" Type="normal"@@此命令用于为特定提交创建标签。标签是标记 Git 历史记录中特定点的标签。
$ git tag v1.0.0
" Type="normal"SectionTitle="Git Blame" Type="normal"@@此命令用于查看特定文件或代码行的提交历史记录。运行此命令时,Git 会显示文件中每一行代码的作者和日期。
$ git blame file.txt
" Type="normal"SectionTitle="Git Show" Type="normal"@@此命令用于查看在特定提交中所做的更改。当您运行此命令时,Git 会向您显示已更改的文件以及新旧版本之间的差异。
$ git show 5d5b5e5dce7d1e09da978c8706fb3566796e2f22
" Type="normal"SectionTitle="Git Bisect" Type="normal"@@此命令用于查找在您的代码中引入错误的提交。当您运行此命令时,Git 会帮助您缩小要搜索的提交范围以找到罪魁祸首。
$ git bisect start$ git bisect bad HEAD$ git bisect good 5d5b5e5dce7d1e09da978c8706fb3566796e2f22
" Type="normal"SectionTitle="Git Submodule" Type="normal"@@此命令用于管理 Git 存储库中的子模块。子模块是一个单独的 Git 存储库,作为主 Git 存储库的子目录包含在内。
$ git submodule add https://github.com/example/submodule.git
" Type="normal"SectionTitle="Git Archive" Type="normal"@@此命令用于创建 Git 存储库的 tar 或 zip 存档。当您运行此命令时,Git 会创建存储库的存档,您可以保存该存档或将其发送给其他人。
$ git archive master --format=zip --output=archive.zip
" Type="normal"SectionTitle="Git Clean" Type="normal"@@此命令用于从您的工作目录中删除未跟踪的文件。当您运行此命令时,Git 会删除所有未被 Git 跟踪的文件和目录。
$ git clean -f
" Type="normal"SectionTitle="Git Reflog" Type="normal"SectionTitle="此命令用于查看存储库中所有 Git 引用的历史记录,包括分支、标签和 HEAD。当您运行此命令时,Git 会向您显示在您的存储库中已执行的所有操作的列表。" Type="normal"-->
Git Config
该命令在 Git 中用于配置 Git 系统的各个方面。它用于设置或获取控制各种 Git 行为的配置变量。以下是一些如何使用的示例git config:- 设置用户信息:
git config --global user.name "Your Name"git config --global user.email "your.email@example.com"
上述命令将全局设置您的姓名和电子邮件地址,以便它们将用于您的所有 Git 提交。
- 显示配置变量:
git config --list
上面的命令将显示当前为 Git 系统设置的所有配置变量及其值。
- 设置默认分支名称:
git config --global init.defaultBranch main
上面的命令会将默认分支名称设置为“main”。这是 Git 在您创建新存储库时将使用的分支名称。
" Type="normal"SectionTitle="Git Grep" Type="normal"@@Git 中的此命令在 Git 存储库的内容中搜索特定的文本字符串或正则表达式。它的工作方式类似于 Unixgrep命令,但针对搜索 Git 存储库进行了优化。以下是如何使用的示例git grep:
假设您想在 Git 存储库的所有文件中搜索“example”一词。您可以使用以下命令:
git grep example
这将在当前目录及其子目录中的所有文件中搜索单词“example”。如果找到单词“example”,git grep将打印文件名、行号和包含匹配文本的行。这是一个示例输出:
README.md:5:This is an example file.index.html:10:
" Type="normal"@@-->Example Website
在这个例子中,单词“example”出现在两个文件中:README.md和index.html。输出的第一行显示文件名,后跟行号和包含匹配文本的行。
您还可以将正则表达式与git grep. 例如,如果要搜索出现在一行开头的单词“example”的所有实例,可以使用以下命令:
git grep '^example'
这将搜索存储库中所有文件中一行开头出现的单词“example”的所有实例。请注意,正则表达式^代表一行的开头。
Git Revert
此命令用于撤消先前的提交。不像git reset,它从存储库中删除提交,git revert创建一个新的提交来撤消先前提交所做的更改。这是一个如何使用的示例git revert. 假设您有一个包含三个提交的 Git 存储库:commit 1: Add new featurecommit 2: Update documentationcommit 3: Fix bug introduced in commit 1
您意识到您在提交 1 中添加的新功能导致了问题,您想要撤消该提交。您可以使用以下命令还原提交 1:
git revert
这将创建一个新的提交,撤消提交 1 所做的更改。如果您git log在运行 之后运行git revert,您将看到存储库现在有四个提交:
commit 1: Add new featurecommit 2: Update documentationcommit 3: Fix bug introduced in commit 1commit 4: Revert "Add new feature"
第四个提交是由git revert. 它包含撤消提交 1 所做更改所需的更改。
" Type="normal"SectionTitle="Git RM" Type="normal"@@此命令用于从 Git 存储库中删除文件。它可用于删除添加到存储库的文件,以及删除之前由 Git 跟踪的文件。这是一个如何使用的例子git rm-
- 删除已添加到存储库但尚未提交的文件:
git rm filename.txt
这将从filename.txt存储库中删除并为下一次提交暂存删除。
- 删除先前提交的文件:
git rm filename.txtgit commit -m "Remove filename.txt"
第一个命令将从filename.txt存储库中删除并为下一次提交暂存删除。第二个命令将提交删除。
- 从存储库中删除文件但将其保留在工作目录中:
git rm --cached filename.txt
这将从存储库中删除filename.txt但将其保留在工作目录中。Git 将不再跟踪该文件,但它仍将存在于您的本地计算机上。
- 从存储库中删除目录及其内容:
git rm -r directoryname
这将从directoryname存储库中删除及其内容,并为下一次提交暂存删除。
总之,这些经常使用的 Git 命令对于每个经常使用 Git 存储库的软件专业人员来说都是必不可少的。了解如何有效地使用这些命令可以帮助您简化工作流程、更有效地与您的团队协作以及解决 Git 存储库中可能出现的问题。
总之,这 25 条 Git 命令对于每个经常使用 Git 存储库的软件工程师来说都是必不可少的。了解如何有效地使用这些命令可以帮助您简化工作流程、更有效地与您的团队协作以及解决 Git 存储库中可能出现的问题。
" Type="normal"@@-->
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.