5 个 Git 使用技巧
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
以下是我最近学到的一些我最喜欢的 Git 使用技巧,或者是我一直在使用的一些技巧。
1..git/safe/../../bin
我从这篇文章中学到了这个技巧,它解释得比我好得多:thoughtbot - git-safe。
我从中看到的最大好处之一是,在进行项目开发时,可以使用它来覆盖命令的版本。
例如:您已phpunit在系统全局安装了该软件,但项目需要使用特定版本。只需将特定版本添加到项目的 bin 目录,运行命令mkdir .git/bin,就完成了!只要将特定版本添加.git/safe/../../bin到 `.bin` 文件中$PATH,它就会覆盖其他条目。
这里还需要注意的是,除了 `/etc/my-directory` 目录之外,你还可以将其用于其他目录。你也bin/可以添加类似 `/etc/my-directory` 的内容。.git/safe/../../vendor/.bin/
2. 别名
虽然它们与 shell 别名差别不大,但我更喜欢 Git 别名,因为它们在~/.gitconfig文件中组织得井井有条。以下是我每天都会用到的一些别名:
[alias]
newbranch = "!f() { git checkout -b $1 master && git push -u origin $1 ; }; f"
acp = "!f() { git add --all && git commit -m \"$1\" && git push ; } ; f"
wip = "!git acp 'wip'"
undo = "!git reset HEAD^"
我尽量不去过度依赖它们,因为我不能指望它们在我使用不同机器时始终都在那里。
3. 全球.gitignore
设置全局变量.gitignore非常有用。默认情况下会$HOME/.config/git/ignore使用全局变量。如果系统中不存在该变量,则需要创建它。可以在配置文件中更改该文件的位置~/.gitconfig。
该文件的工作方式与普通的 `.gitignore` 文件相同,但它作用于整个系统,而不是单个项目。
我目前使用它的主要原因就是那些烦人的.DS_Store文件。我不想在每个项目中都添加这些文件。
4..git/info/exclude
有时,你的工作流程会导致你需要让 git 忽略某些文件,而将条目添加到项目的 .gitignore 文件中是不合适的。
我最近也遇到了这种情况。我当时在一个项目中,所有人都用的是 PHPStorm,只有我用的是 VS Code。
我为了调试添加了自己的.vscode/launch.json.gitignore 文件,当时还没准备好把它添加到项目中。我几乎每次都把它和其他更改一起提交了,然后我发现了它.git/info/exclude。这是一个和全局或本地 .gitignore 文件功能相同的文件,但它是项目特定的,不会被 git 跟踪。它正是我需要的,但我之前一直不知道它的存在。
5. 结账至上一个分行
一个简单但非常实用的快捷键是运行命令git checkout -切换回之前检出的分支。你可以反复运行此命令在两个分支之间切换。
有趣的是,这也可以与其他命令一起使用,例如cd -!