每次都要
git add something.py
git commit -m "balabala"
git push
有没有可以合成一步的命令呢?
1
freeznet 2015-11-25 23:50:50 +08:00
|
2
Cee 2015-11-26 00:13:38 +08:00
git-fire
|
3
hantsy 2015-11-26 00:14:49 +08:00
Bad pratice
|
4
Pastsong 2015-11-26 00:18:40 +08:00
function lazygit() {
git add "$1" git commit -m "$2" git push } lazygit something.py "balabala" 改了一下第一个答案 http://stackoverflow.com/questions/19595067/git-add-commit-and-push-commands-in-one |
6
wizardoz 2015-11-26 00:25:19 +08:00
有时候就怕手太快。 commit 可以经常做,就算错了也没关系,但是 push 最好还是要慎重吧。我经常要把几个 commit 合成 1 个才 push
|
7
est 2015-11-26 00:26:14 +08:00 via iPad 2
几乎没用 git add
git commit -m msg file1 file2 dir1 dir2 就选择性提交文件了。 全世界的 git add 教程都是骗笨蛋的 |
8
Tiande 2015-11-26 00:37:58 +08:00 2
建议先了解下什么叫 Version Control :
http://git-scm.com/book/en/v2/Getting-Started-About-Version-Control add 是添加文件到暂存区。 commit 是提交暂存区的修改。 push 是推送到其他分支。 冷静下来思考一下: 这三个命令的不同之处, git 的流程为什么这样设置, 为什么不一键提交到服务器。 @est 反对。新建一个文件,是不可能用 commit 直接提交的。 |
9
FreeDog 2015-11-26 01:14:07 +08:00 via iPhone
手快 push 错了也是可以 reset 然后强制 push 的,除非服务器关了这个选项。不过的确别人 pull 了就不好办了。
@wizardoz |
10
SharkIng 2015-11-26 03:53:10 +08:00
add commit 好像可以, Push 没有一起的吧
|
11
beginor 2015-11-26 07:58:19 +08:00
那么多人喜欢命令行,服务器上用命令行也就算了,在开发机器上用命令行是不是有装 B 的嫌疑呢?毕竟有很多好用的 Git 客户端
|
12
irockytan 2015-11-26 08:38:53 +08:00 via iPhone 1
@beginor 这个不一定....我就是在开发机上用的 git 命令行,比 gui 快,方便,查看日志什么的一条命令就 OK ,提交完或者拉取完直接编译,不需要再不同工具之前切来切去
|
13
est 2015-11-26 08:47:59 +08:00
|
14
dubuqingfeng 2015-11-26 08:56:27 +08:00 via Android
写个脚本就行吧。
|
15
beginor 2015-11-26 08:57:52 +08:00
@irockytan 除非你用命令行开发,现在的 IDE 都集成了 Git ,日志 /提交 /拉取只是点一个按钮的 /菜单事
|
16
SpicyCat 2015-11-26 09:03:29 +08:00
@beginor 写个命令行都成装逼了,能别这么 low 么。 IDE 点菜单跟配置好 alias 的 git ,谁快还不一定呢。
|
17
javaluo 2015-11-26 09:05:35 +08:00 via Android
git add -A
|
18
xcodebuild 2015-11-26 09:09:31 +08:00 via iPhone
@beginor 装逼门槛就这么低么,,话说如果你是*nix 用户, zsh 和 fish 真的非常顺手,比用鼠标找按钮顺手的多。当然 win 的 cmd 非常不好用不用也不奇怪。
|
19
beginor 2015-11-26 09:09:54 +08:00
@SpicyCat 你切到命令行巧命令,比直接在 IDE 上点一个按钮还快?命令行可以有 alias , IDE 也可以自定义,常用的按钮放在常用的地方
|
20
wizardoz 2015-11-26 09:14:52 +08:00
git 是一个图形界面还没有命令行好用的软件。
|
21
xiamingchong 2015-11-26 09:18:29 +08:00
@est 说明你还没领会 git 的要义
|
22
FingerLiu 2015-11-26 09:19:20 +08:00
就算有你敢用么
|
25
est 2015-11-26 10:18:03 +08:00
@xiamingchong 怎么没理解,请详解。
|
26
superbear 2015-11-26 10:21:26 +08:00
提交前一般习惯看看 diff
|
28
Forteluz 2015-11-26 10:41:35 +08:00
@beginor 按照你的逻辑,程序员不就是一个装 B 的职业么,这样说的话,写命令行看起来才是正常的吧,话说像我这种渣渣,就喜欢用命令行来巩固记忆,这才是个码农的生活啊……
|
29
slixurd 2015-11-26 11:24:09 +08:00
有 GUI 还用终端装 B 这种事情可以推广到前端:
为什么现在明明有 DreamWeaver 这么方便的前端工具拖一拖就能生成页面,还有这么多装 B 的前端工程师要自己用编辑器写 HTML 和 CSS 。 |
30
secondwtq 2015-11-26 13:04:49 +08:00
|
31
SpicyCat 2015-11-26 13:08:32 +08:00
@FreeDog force push 是非常不好的行为,除非是在自己的 branch 上,而且保证这个 branch 只有自己在用。一般 master 或者 develop branch 都是禁止 force push 的。
|
32
ilotuo 2015-11-26 13:17:23 +08:00 via Android
|
33
SpicyCat 2015-11-26 13:19:43 +08:00
@beginor 全键盘操作能比一会儿键盘一会儿鼠标点慢?我还没提 zsh 的记忆和自动不全,还没提脚本。 IDE 强在语法纠错提示还有重构,但是各种构建和版本管理工具,还是命令行快。 maven, git, grunt 等等,找个顺手的终端模拟器,配上 zsh ,真是快到飞起。
对了,我还没提 bug 吧?各种 git gui 工具是慢于 git 本身的开发进度的,而且你在 git 上又套了一层, bug 几率肯定更高。 GUI 工具我用过 Eclipse 的插件 EGit ,我用的时候它还不支持 git hook ,真是无语,不知道现在怎么样了。 这不是装不装的问题,而是用哪个顺手的问题。你觉得 GUI 顺手就用呗,我只是觉得命令行用 git 更顺手更快罢了。 |
34
xujif 2015-11-26 13:24:30 +08:00
git commit -am "msg"
git push |
36
feuvan 2015-11-26 13:40:05 +08:00
贵站要完,各种“装逼”扯淡嫌弃
好好讨论技术就好了。。 |
38
kiwi95 2015-11-26 14:11:37 +08:00
写一个 alias 就可以了
go = "! bash -c \"git pull && git add .;git commit -am; git push origin master\"" |
39
programcat 2015-11-26 14:36:08 +08:00
@Pastsong 请问去哪里编写 git 函数啊?
|
40
programcat 2015-11-26 14:36:32 +08:00
请问去哪里编写 git 函数呢?
|
41
DiffView 2015-11-26 14:47:25 +08:00
|
42
jzk 2015-11-26 15:06:51 +08:00
这 flow 不如用 dropbox
|
43
DualWield 2015-11-26 15:37:54 +08:00
bad practice , agree with
|
46
bingu 2015-11-26 16:04:09 +08:00
哈哈,喜闻乐见的争论
|
47
moliliang 2015-11-26 16:06:04 +08:00
写个 shell 就好了
|
48
andyhuzhill 2015-11-26 17:28:06 +08:00 1
@MCVector 正解 我有一次帮别人解决 Git 的问题 他用的是 TortoiseGIt 偏偏那个版本更新之后 有一个功能我在界面上没找到了(其实是换了个说法) 我只好打开命令行 直接手敲命令
命令行的优势就在于 只需要记住几个参数 不管在哪能用. 如果是图形界面 不同的 GUI 工具功能放在哪都要去找 |
49
flyslow 2015-11-26 17:51:22 +08:00
# 添加所有变动到跟踪并且提交: git aci "commit message"
git config --global alias.aci '!f(){ git add -A && git commit -am "$1"; }; f' 用法: git aci "commit 信息" 更多请看: https://gist.github.com/FLYSLOW/3b8f8acef3fbb7d9b0cc |
51
beginor 2015-11-26 18:18:02 +08:00
看来大家都是倾向于使用命令行啊, 建议大家试试 SmartGit ,价格不算贵,还有免费的社区版,比那些 Git 自带的 gui , TortoiseGit , vs 自带的 Git , eclipse 自带的 Git 以及 idea 自带的 Git 等等,完全不在一个档次
|
52
beginor 2015-11-26 18:20:01 +08:00
@andyhuzhill 说的很有道理,团队应该使用统一的客户端,外加统一的配置
|
54
beginor 2015-11-26 18:23:55 +08:00
@MCVector IDE 是不少,但是贵司会今天用 idea ,明天用 eclipse ,后天用 Xcode ,大后天用 VS 么?
|
55
Aixtuz 2015-11-26 18:36:51 +08:00
不考虑使用环境和习惯的工具争论,根本没有意义啊。
当键盘和鼠标的操作耗时差不多时,你的手经常停在哪里?你的屏幕经常停在哪里?才是重要的吧。 你让一个经常双手键盘,屏幕长期处于命令行界面的人去用图形客户端,他连打开软件都会觉得烦。 反之,你让一个 左手键盘 右手鼠标,眼前就有按钮点一下完事的,必须去命令行敲一下,他也会觉得没事找事。 所以,只要功能正常,自己手边用什么方便就用什么呗. |
56
chenai 2015-11-26 18:47:09 +08:00
自己写个 bash 脚本
|
58
gkiwi 2015-11-26 20:19:55 +08:00
git commit -am 'balabala'
|
59
pynix 2015-11-26 20:24:06 +08:00
没事别瞎 push
|
60
MCVector 2015-11-26 23:50:00 +08:00
@beginor 项目大部分都是自己写 Makefile 或者 CMakeLists.txt. IDE 一般用来 debug binary. 另外,一个 IDE 并不能兼容所有内容,比如说我也会用 Git 管理 LaTeX 文档。
|
61
zonghua 2015-11-27 00:05:02 +08:00 via iPhone
我用 eclipse 会不会歧视
|
63
williamx 2015-11-27 17:04:00 +08:00
有时候用 git 的情况根本没有你们想的那么复杂,自然也就不需要遵循所谓的最佳实践和流程。
|
64
nekoyaki 2015-11-27 17:43:34 +08:00
服气,现在用个命令行都能被指斥是装逼了……我认怂,你们用 gui 牛逼,我们装逼。
|