我今天安装了适用于Windows7的Git。我还不太了解Git,我正在关注http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup以及YouTube上有关该主题的视频。在视频中人们安装Git并转到命令行并使用gitconfig--globaluser.name="MyName"和gitconfig--globaluser.email="email@example.com"并在C:/Users/admin/.gitconfig中创建.gitconfig文件,并为其设置正确的值。在运行上面的代码行三次之后,这就是我在那个
下面的Git语句cdperiodtest/gitinitgitconfiguser.name"Test."#verifythatuser.nameis'Test.'gitconfiguser.nametouchREADMEgitaddREADMEgitcommit-a-m"periodtest"checkout结果如下#checkusernameaftercommitgitlogAndtheresultingcommitw/outtheperiodwas:commit9b7e4960fd8129059b5759d1bb937b60241fd70bAuthor:TestDate:WedO
下面的Git语句cdperiodtest/gitinitgitconfiguser.name"Test."#verifythatuser.nameis'Test.'gitconfiguser.nametouchREADMEgitaddREADMEgitcommit-a-m"periodtest"checkout结果如下#checkusernameaftercommitgitlogAndtheresultingcommitw/outtheperiodwas:commit9b7e4960fd8129059b5759d1bb937b60241fd70bAuthor:TestDate:WedO
我已经构建了以下接收后Hook:#!/bin/shcd/var/node/heartbeat/||exitunsetGIT_DIRecho$USERgitpull--no-edit当我推送到存储库时,返回以下错误:remote:remote:Fromserver.net:chris/heartbeatremote:c0df678..5378ademaster->origin/masterremote:remote:***Pleasetellmewhoyouare.remote:remote:Runremote:remote:gitconfig--globaluser.email"you
我已经构建了以下接收后Hook:#!/bin/shcd/var/node/heartbeat/||exitunsetGIT_DIRecho$USERgitpull--no-edit当我推送到存储库时,返回以下错误:remote:remote:Fromserver.net:chris/heartbeatremote:c0df678..5378ademaster->origin/masterremote:remote:***Pleasetellmewhoyouare.remote:remote:Runremote:remote:gitconfig--globaluser.email"you
用于推送到bitbucket。如果我这样做:gitpushoriginorigin/branch_name我的提交不会被推送。Total0(delta0),reused0(delta0)如果我执行gitpushoriginbranch_name我的提交被推送:Countingobjects:160,done.Deltacompressionusingupto8threads.Compressingobjects:100%(13/13),done.Writingobjects:100%(20/20),2.10KiB|0bytes/s,done.Total20(delta6),reused
用于推送到bitbucket。如果我这样做:gitpushoriginorigin/branch_name我的提交不会被推送。Total0(delta0),reused0(delta0)如果我执行gitpushoriginbranch_name我的提交被推送:Countingobjects:160,done.Deltacompressionusingupto8threads.Compressingobjects:100%(13/13),done.Writingobjects:100%(20/20),2.10KiB|0bytes/s,done.Total20(delta6),reused
我知道有像this这样的问题,但这不是我要问的。我也知道:gitcheckout标签名:让你脱离分支。(即移动HEAD指针,保持BRANCH指针)gitreset--hardtag-name:不会将您从分支中分离出来,但会使之前的提交变得“悬空”。(即同时移动HEAD和BRANCH指针)我想知道哪个更适合更新标签,即是否应该重置或checkout作品。我知道垃圾收集器可能会运行,删除悬空提交,但话又说回来,如果在更新到标签的过程之前总是“pull”生产,我看不出有什么不好。是否应该使用reset或checkout对标签进行生产更新,考虑到pull始终在此更新调用之前完成?
我知道有像this这样的问题,但这不是我要问的。我也知道:gitcheckout标签名:让你脱离分支。(即移动HEAD指针,保持BRANCH指针)gitreset--hardtag-name:不会将您从分支中分离出来,但会使之前的提交变得“悬空”。(即同时移动HEAD和BRANCH指针)我想知道哪个更适合更新标签,即是否应该重置或checkout作品。我知道垃圾收集器可能会运行,删除悬空提交,但话又说回来,如果在更新到标签的过程之前总是“pull”生产,我看不出有什么不好。是否应该使用reset或checkout对标签进行生产更新,考虑到pull始终在此更新调用之前完成?
到目前为止,我一直使用gitcheckout;gitreset--hard将分支移回较早的提交。然后我遇到了thisquestion,但答案和评论并没有详细解释它们之间的区别。假设我有一个干净的工作树,它们之间有什么内部差异gitbranch-f和gitcheckoutgitreset--hard这些差异(如果有的话)对高级用法有什么微妙的影响吗? 最佳答案 主要区别在于gitbranch-f移动指向指定的提交而不触及HEAD、索引或工作副本,而gitcheckout&&gitreset--hard修改所有三个。如果你想在不移动的情