V2EX neevek
 neevek 最近的时间轴更新
neevek

neevek

V2EX 第 11656 号会员,加入于 2011-09-07 11:39:32 +08:00
根据 neevek 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
neevek 最近回复了
2014-10-24 21:59:44 +08:00
回复了 gongzili456 创建的主题 程序员 你们如何写博客?
我想用 github pages 写博客,所以就写了个静态网站生成器: https://github.com/neevek/minerl
2014-06-27 00:35:29 +08:00
回复了 gorsky 创建的主题 奇思妙想 想抢一个好的域名, 还要很有钱才行.
2014-06-18 00:15:42 +08:00
回复了 skydiver 创建的主题 Linux Debian/Ubuntu 真的不适合做服务器操作系统吗?
Debian就是用来做服务器的。。。。。
我自己的一个简单的原则:保持每个commit是完整的、原子的、可以用一句话描述的。
2014-06-09 18:52:21 +08:00
回复了 Yo_oY 创建的主题 git git push -f 了之后有后悔药可以吃么
可以有些补救方法,首先要找到那个有原来upstream上最新提交的人,让他执行下面这组命令:

方法1:
如果只有两个人(包括你自己):
git fetch origin develop
git checkout develop
git rebase --onto origin/develop SHA1_CULPRIT develop
git push origin develop

方法2:
如果多于两个人(包括你自己):
git fetch origin develop
git checkout develop
git cherry-pick SHA1_CULPRIT^..origin/develop
(这时候如果有冲突则解决冲突后执行git add .; git cherry-pick --continue)
git push -f origin master

对于方法2,确保在执行git push -f的时候其他人没有在做push。

注:SHA1_CULPRIT就是上次你跟upstream同步之后提交的第一个commit的sha1 hash。


最后一个提醒,99%的场景下,你不需要push --force。如果你没有100%确认自己在做什么,没有100%把握知道怎么解决问题,最好别尝试force push。
2014-06-07 09:44:47 +08:00
回复了 yueyoum 创建的主题 程序员 又是一个 GIT 问题
发现不能编辑回复。。。只能再写一个回复更正上一个回复了。

前面关于HEAD~0的描述是错误的(最后3段),HEAD~0在这里实际上exclusive的,也就是HEAD~N往回数N个commit(这里HEAD~0就是0个commit,即完全忽略),然后对这些commit生成patch,replay到origin/master上,所以下面这个命令的意思是:完全忽略在C上面的从HEAD数到与B的common ancestor的位置的所有commit,楼主的情况就只有那个删除file.txt的commit,然后replay到origin/master上面,最终结果就是把B那个checkout回file.txt的commit合并回来了,丢掉已在C上面的删除file.txt的commit。

git rebase --onto origin/master HEAD~0 master
2014-06-07 01:18:32 +08:00
回复了 yueyoum 创建的主题 程序员 又是一个 GIT 问题
根据你的描述不应该会出现aleady up-to-date。

如果B的log是:
ccccccc
|
bbbbbbb

C的log是:
aaaaaaa
|
bbbbbbb

意味着这时候B和C的common ancestor是bbbbbbb,也就是当C从B pull的时候不是fast-forward,原来A提交的aaaaaaa会被当成是C提交的,换言之,文件(假设文件名为file.txt)是在C中被删除的,A没有对file.txt做任何修改。这时候merge B和C最终会导致file.txt文件被删除,并且会产生一个merge commit,这个时候C的log应该是这样的:
Merge commit
|
ccccccc
|
aaaaaaa
|
bbbbbbb

楼主没有直接问问题,我假设楼主希望C跟B合并之后,C中的file.txt没被删除。假设当前在C,这时候需要执行以下命令(执行命令之前,如果你已经执行过git merge或者不带任何参数的git pull,那请回退到合并之前的历史,如:git reset --hard HEAD@{1}):

注:假设upstream是origin,分支名是master

git pull --rebase origin master
或者
git fetch origin master
git rebase --onto origin/master HEAD~0 master

上面这两组命令在这个场景下是等价的,但是用下面这一组命令来解释会更加容易理解。
这里第一个参数origin/master表示我想基于origin/master来replay当前分支的commit,这个时候origin/master其实就是B。HEAD~0实际上等价于HEAD,写成HEAD~0只是为了强调我只有当前分支最新1个commit(这个commit就是aaaaaaa)需要replay到origin/master上。最后的master表示rebase的结果是应用到master分支上的,最终的结果就是file.txt回来了,ommit历史会变成:
ccccccc
|
bbbbbbb

没错,aaaaaaa不见了,因为rebase origin/master(等价于based on B中的ccccccc)实际上就是拿C中的aaaaaaa和B中的ccccccc做比较,最终发现ccccccc中增加了file.txt,所以保留了file.txt,所以相当于aaaaaaa这个提交神马都没做,所以这个commit就被去除了。

另外,假设在rebase B之前,在C上面做过一次提交,那上面的HEAD~0改成HEAD~1就可以了。


oh, my god....好长
2014-05-08 23:42:25 +08:00
回复了 ChanneW 创建的主题 奇思妙想 公司上班时间把外网禁掉了~~ 研究怎么绕过规则。
留了个CSDN,那你应该是做开发的,这样的公司早点离开吧,留下来只是浪费你的时间。
2014-05-06 22:10:43 +08:00
回复了 sanddudu 创建的主题 程序员 你愿意为你的博客付多少钱?
github pages免费,纯静态网页,http://neevek.net 域名50一年
顺便做个广告,自己写的静态网站生成器: https://github.com/neevek/minerl
工作一年多,你现在最需要的不是技术广度,是技术深度,而所谓的深度往往是基于初入门者所忽略的基础,我见过很多已经工作3、5年的人,很多基础都没搞清楚。比如:各种编码、HashTable的实现、线程安全、HTTP协议、TCP协议。。。。基础打好了,你就可以更深入的学习,再去学习任何其他语言和技术效率会高很多。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3222 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 10ms UTC 12:05 PVG 20:05 LAX 05:05 JFK 08:05
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86