大家应该已经习惯了用Git来进行版本管理。除了我们经常用到的一些Git操作,例如commit, pull, push之外,我在这里总结了一些日常工作中经常会用到的相关操作。
1. 这个技巧主要是针对Python程序员,在我们写完一段代码之后,我们很有可能想要检查一下存不存在语法错误以及我们写的代码符不符合PEP8的标准。
但是有的时候我们修改的代码可能比较多,与其使用简单的复制粘贴来逐个检查,我们可以使用如下的命令来进行批量的检查。
git status | grep 'modified\|added' | awk '{system("pyflakes "$3)}'
git status | grep 'modified\|added' | awk '{system("pep8 "$3)}'
注意你的系统里需要安装 pyflakes 和 pep8 这两个package。
2. 在一些机缘巧合的时候,在我们修改完一段代码并且commit之后准备push到远程数据库时,会惊讶的发现在我们修改代码的这段时间,另外一位同事已经将他修改的另一段代 码push到了remote origin。这个时候我们的git tree就面临产生回路的难堪情况。好在我们可以通过以下的命令来解决这个问题。
# 一切的恶果都是因为在commit之前忘记做这一步
git pull
# Reset你本地的代码库到你预备push的版本之前那个commit
# 一般来说会是类似具有 “Merge xxxx” 这样的comment之前两次的那个版本
# 我们可以使用
git log
# 来找到那个commit的HEAD
# git reset --mixed 会把你已经做出的更改保留,但是把HEAD重置到之前的那个commit
git reset --mixed HEAD-before-your-last-commit
# 接下来,我们就可以重新commit你的更改。
git add .
git commit -m "Your newest commit message"
# Push到远程origin,万事搞定。
git push