git bash here创建项目无法选择m_你应该知道的10个Git命令(附链接)

d00ec81844d2138acfc355019451b39f.png

在本文中,我们将讨论作为开发人员、数据科学家或产品经理应该了解的各种Git命令,如何使用Git进行检查、删除和整理,以及如何通过Bash别名和Git编辑器配置来逃避Vim并节省时间。

这里有10个要知道的命令和一些常见的标志。每个命令都链接到该命令的Atlassian Bitbucket指南。

检查事项

让我们先看一下检查变化。

67675e068722316204248382039c0e6b.png

· git diff——在本地查看所有文件更改。可以附加文件名以仅显示一个文件的更改。

https://www.atlassian.com/git/tutorials/saving-changes/git-diff

· git log——查看所有提交历史记录 也可以用于带有git log -p my_file的文件。输入q退出。

https://www.atlassian.com/git/tutorials/git-log

· git blame my_file——查看谁更改了my_file中的内容和时间。

https://www.atlassian.com/git/tutorials/inspecting-a-repository/git-blame

· git reflog——显示本地存储库HEAD的更改日志。这很适合找工作。

https://www.atlassian.com/git/tutorials/rewriting-history/git-reflog

用Git检查事情并不是非常令人困惑。相比之下,Git为删除和撤消提交和文件更改提供了大量选项。

撤销事项

gitreset,git checkout和git revert用于撤消对存储库的更改的影响。这些命令可能很难保持直线。

gitreset和git checkout可用于提交和单个文件上使用。git revert仅在提交级别使用。

如果你只是处理尚未合并到协作远程工作的本地提交,则可以使用这些命令中的任何一个。

如果你正在协同工作并且需要中和远程分支中的提交,那么git revert就是你的工具。

这些命令中的每一个都可以采用多种选择。以下是常见用途:

· gitreset--hard HEAD——丢弃自最近提交以来的分阶段和非分阶段更改。

https://www.atlassian.com/git/tutorials/resetting-checking-out-and-reverting

指定一个不同的提交而不是HEAD来放弃自提交以来的更改。——hard指定丢弃暂存和未暂存的更改。

确保不丢弃协作者所依赖的远程分支的提交!

· git checkoutmy_commit——放弃自my_commit以来的非分段更改。

https://www.atlassian.com/git/tutorials/undoing-changes

HEAD通常用于my_commit以放弃自最近一次提交以来对本地工作目录的更改。

checkout最适合仅限本地的地方。它不会破坏协作者依赖的远程分支的提交历史记录!

如果使用checkout分支而不是提交,则HEAD将切换到指定的分支,并更新工作目录以匹配。这是checkout命令的更常见用法。

· gitrevert my_commit ——撤消my_commit中更改的效果。当撤消更改时,revert会进行新的提交。

https://www.atlassian.com/git/tutorials/undoing-changes/git-revert

revert对于协作项目是安全的,因为它不会覆盖其他用户的分支可能依赖的历史记录。

54fda00552fb0e46698d23461c2030bb.png

Revert是安全的

有时你只想删除本地目录中未跟踪的文件。例如,你可能运行了一些代码,这些代码创建了许多你在repo中不需要的不同类型的文件。噢!你可以快速清理它们!

· gitclean -n——删除本地工作目录中未跟踪的文件。

https://www.atlassian.com/git/tutorials/undoing-changes/git-clean

-n标志用于干运行,其中不删除任何内容。

使用-f标志实际删除文件。

使用-d标志删除未跟踪的目录。

默认情况下,.gitignore未跟踪的文件不会被删除,但可以更改此行为。

8b69f4b4868f10d394fc87fa59741007.png

既然你已经了解了在Git中撤消事物的工具,让我们再看两个命令来保持秩序井然有序。

整理事项

· gitcommit--amend——将暂存的更改添加到最近的提交中。

https://www.atlassian.com/git/tutorials/rewriting-history#git-commit--amend

如果没有暂存,则此命令仅允许你编辑最新的提交消息。如果提交尚未集成到远程主分支中,则仅使用此命令!

· git push my_remote--tags——将所有本地标签发送到远程仓库。适用于版本更改。

https://www.atlassian.com/git/tutorials/syncing/git-push

如果你正在使用Python并对你构建的软件包进行更改,那么bump2version将自动为你创建标记。推送标签后,可以在版本中使用它们。

求助,我被困在Vim并且无法离开!

使用Git,你可能偶尔会发现自己陷入了Vim编辑器会话。例如,假设你尝试在没有提交消息的情况下提交 - Vim将自动打开。

db7628ed143e60d0d05889d384d1e510.png

好了!

以下是使用保存文件逃避Vim的四步计划:

1.按i进入插入模式。

2.在第一行键入提交消息。

3.按退出键 Esc。

4.输入:x. 不要忘记冒号

瞧,你自由了!

更改默认编辑器

要完全避免使用Vim,你可以在Git中更改默认编辑器。以下是包含常用编辑器命令的文档。这是更改我们使用的编辑器默认值的命令,Atom:

gitconfig --global core.editor“atom --wait”

假设你安装了Atom,现在可以解决其中的Git问题。耶!

为Git命令制作快捷方式

31ccbcb2486249859208a78d120fb3f1.png

通过向.bash_profile添加以下别名来添加Git命令的快捷方式。

alias gs='git status '

alias ga='git add '

alias gaa='git add -A '

alias gb='git branch '

alias gc='git commit '

alias gcm='git commit -m '

alias go='git checkout '

你可以调整为你喜欢的任何Git命令制作快捷方式。

如果你没有.bash_profile,可以使用以下命令在macOS上创建一个:

touch~/.bash_profile

然后打开它:

open~/.bash_profile

现在,当你在终端中输入gs时,它与输入git status相同。请注意,你可以在快捷方式后在终端中输入其他标记。

6a554bd2546ad5530f041d045033d9ea.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值