网易首页 > 网易号 > 正文 申请入驻

释放 Git 的全部潜能

0
分享至

“一天一个 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

  1. git log --graph:以图形格式显示提交历史记录。
  2. git log --oneline:以压缩格式显示提交历史记录。
  3. 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 存储库连接到的远程存储库。它允许您添加、重命名或删除远程存储库。

  1. git remote rm:删除远程存储库。
  2. git remote show:显示有关特定远程存储库的信息。
  3. 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:
  1. 设置用户信息:

git config --global user.name "Your Name"git config --global user.email "your.email@example.com"

上述命令将全局设置您的姓名和电子邮件地址,以便它们将用于您的所有 Git 提交。

  1. 显示配置变量:

git config --list

上面的命令将显示当前为 Git 系统设置的所有配置变量及其值。

  1. 设置默认分支名称:

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-

  1. 删除已添加到存储库但尚未提交的文件:

git rm filename.txt

这将从filename.txt存储库中删除并为下一次提交暂存删除。

  1. 删除先前提交的文件:

git rm filename.txtgit commit -m "Remove filename.txt"

第一个命令将从filename.txt存储库中删除并为下一次提交暂存删除。第二个命令将提交删除。

  1. 从存储库中删除文件但将其保留在工作目录中:

git rm --cached filename.txt

这将从存储库中删除filename.txt但将其保留在工作目录中。Git 将不再跟踪该文件,但它仍将存在于您的本地计算机上。

  1. 从存储库中删除目录及其内容:

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.

相关推荐
热点推荐
广东暴雨下的新能源车和油车谁更胜一筹?修理工道出实情

广东暴雨下的新能源车和油车谁更胜一筹?修理工道出实情

阿SIR观察
2024-04-28 16:03:45
终于知道她为啥是艺考之神了!

终于知道她为啥是艺考之神了!

娱乐八卦木木子
2024-04-27 16:28:49
苏群:湖人队终于没有被横扫 这个系列赛被逆转的可能性微乎其微

苏群:湖人队终于没有被横扫 这个系列赛被逆转的可能性微乎其微

直播吧
2024-04-28 11:29:03
35岁男子“狂犬病”发作身亡,去世前已注射疫苗,为何人还没了?

35岁男子“狂犬病”发作身亡,去世前已注射疫苗,为何人还没了?

肿瘤的真相与误区
2024-04-25 19:43:27
应对人民币贬值担忧,出口商纷纷回避人民币增持外汇存款和黄金

应对人民币贬值担忧,出口商纷纷回避人民币增持外汇存款和黄金

火星宏观
2024-04-28 07:00:03
恩恩怨怨,何时了?查尔斯老国王想通了:我们大家和好吧!

恩恩怨怨,何时了?查尔斯老国王想通了:我们大家和好吧!

奇趣娱乐d
2024-04-26 22:38:46
保级狂魔埃弗顿剩3轮领先降级区11分,被扣8分仍成功保级❗

保级狂魔埃弗顿剩3轮领先降级区11分,被扣8分仍成功保级❗

直播吧
2024-04-28 16:28:25
有哪些事让你看到人性的黑暗?网友:老人去世前把被子吃了一半

有哪些事让你看到人性的黑暗?网友:老人去世前把被子吃了一半

小怪吃美食
2024-04-28 20:53:01
惠州房价腰斩?有网友爆料某房源从挂牌105.5万,到现在的53万…

惠州房价腰斩?有网友爆料某房源从挂牌105.5万,到现在的53万…

火山诗话
2024-04-26 08:00:03
继续冲刺!曼城官推晒本轮英超海报,全队乘大巴前往森林主场

继续冲刺!曼城官推晒本轮英超海报,全队乘大巴前往森林主场

直播吧
2024-04-28 17:11:12
女人胖在哪,表现就在哪

女人胖在哪,表现就在哪

户外阿崭
2024-04-27 22:41:31
成都楼市新政刚发布,一套房118万拍卖,就被84人抢,285万成交

成都楼市新政刚发布,一套房118万拍卖,就被84人抢,285万成交

天天话事
2024-04-28 15:27:54
爱信、ZF时代彻底落幕:时代淘汰变速箱的时候,招呼都没打一声!

爱信、ZF时代彻底落幕:时代淘汰变速箱的时候,招呼都没打一声!

汽车扒壹扒
2024-04-26 22:34:05
不但美国震惊了日本也震惊了,就连马斯克想了三天三夜也弄不明白

不但美国震惊了日本也震惊了,就连马斯克想了三天三夜也弄不明白

穷游天下的阿等
2024-04-28 18:51:38
75岁查尔斯望着女王雕塑落泪:他终于懂了威廉的痛苦,可惜太晚了

75岁查尔斯望着女王雕塑落泪:他终于懂了威廉的痛苦,可惜太晚了

缘缘人生观
2024-04-28 20:51:45
《微暗之光》才播2集,收视率轻松破1.98,央视这回淘到宝了

《微暗之光》才播2集,收视率轻松破1.98,央视这回淘到宝了

糊咖娱乐
2024-04-28 18:16:10
汪小菲和张兰韩国汇合,小梅见准婆婆,光头老家被一家人“攻占”

汪小菲和张兰韩国汇合,小梅见准婆婆,光头老家被一家人“攻占”

柠檬有娱乐
2024-04-28 11:09:19
詹姆斯是史上首位第21个赛季还能在季后赛单场至少30分的球员!

詹姆斯是史上首位第21个赛季还能在季后赛单场至少30分的球员!

历史第一人梅西
2024-04-28 13:27:40
男子怀疑妻子出轨,用百草枯浸泡妻子内裤,几天后他肠子都悔青了

男子怀疑妻子出轨,用百草枯浸泡妻子内裤,几天后他肠子都悔青了

文人鉴史
2024-04-22 00:35:03
局势180度反转 美退还扣押伊朗六十亿 乌克兰准备报复以色列!

局势180度反转 美退还扣押伊朗六十亿 乌克兰准备报复以色列!

青年的背包
2024-04-28 20:49:08
2024-04-28 22:24:49
墨谈科技
墨谈科技
业务数码玩家.无聊的博主
2786文章数 561关注度
往期回顾 全部

科技要闻

特斯拉生死时速,马斯克西天取经

头条要闻

周鸿祎的二手迈巴赫以990万元成交 半个车圈到场

头条要闻

周鸿祎的二手迈巴赫以990万元成交 半个车圈到场

体育要闻

赢了!詹皇末节14分制胜咆哮 压力给到KD

娱乐要闻

张杰谢娜发文为何炅庆生,亲如家人!

财经要闻

上财万字报告深度解读Q1经济

汽车要闻

鸿蒙首款行政旗舰轿车 华为享界S9实车亮相车展

态度原创

亲子
健康
房产
手机
旅游

亲子要闻

宝蓝游戏机组装挑战!宝蓝和朋友们一起组装玩具,玩得不亦乐乎!

春天野菜不知不识莫乱吃

房产要闻

力度越来越大!落户两年享本地居民购房政策,海南第16城松绑限购!

手机要闻

苹果警告:睡觉时切勿将iPhone放枕头、身体下充电

旅游要闻

年轻人出游:为了爱好说走就走 好玩不贵很重要

无障碍浏览 进入关怀版