Git管理时,在没编辑完整不想提交版本,又要换电脑。怎么办?

wgf4242
  • 90

用git archive只能导出已提交的版本。未提交的不行。。
提交后导出再退回上一版本么?
应该怎么做好一些?

回复
阅读 5.2k
9 个回答

第一步:拉一个临时的分支

git checkout -b abc

第二步:提交在临时分支

git commit -m '临时分支'
git push

第三步:换电脑,checkout临时分支

git clone http://XXXXX.git
git checkout abc

第四步:可以删除abc分支

git又不是svn。git可以多分支开发呀,为什么不能提交。正常的项目管理至少有一个主分支,一个发布分支,各开发人员有自己的独立分支,提交后,由专员审核后合并到主分支上。

切一个分支出来存储你的修改,你可以把修改的部分提交到这个分支上面,换电脑拉下来继续开发即可,开发完再提交到你们自己的版本库。使用完毕删掉你那个临时分支就好了

1 硬盘装新电脑上
2 新旧电脑可以同时使用片刻的话,先本地commit,在旧电脑上开server或者就使用网络共享共享你的代码库,在新电脑克隆你旧电脑上的库就好了。
3 新建临时分支push到公共服务器上,新电脑上clone后删掉公共服务器上的这个临时分支。

建议使用楼上的方法,git本来就是分布式开发,建立一个分支的代价很廉价,自己可以随意建立分支。

擦柱而出
  • 53

给lz一个我的方法吧,这个解决方法主要不是针对于换电脑,而是针对不想提交不完美的commit。
lz无非是想commit的内容全面一些。amend可以完美解决。该命令用以修改commit信息

git commit --amend

常规用法:

//edit code
git commit -m "temp commit"
//edit code
git commit --amend //修改commit信息
git push

这样在本地,可以随时提交,后面每次提交都是修改之前的提交,最后满意后,push到远程。
对于lz的情况,还有一点需要注意,在第一台电脑push,第二台电脑pull&&--amend后,本地的commit与远程的commit已经产生了不同。此时需要删除远程分支,重新push,有两种方法

//第二台电脑修改code后
//删除远程分支并push(需要有权限)
git push -f
//如果没有权限,先删除远程分支,再push
git push origin :[branch-name]
git push

使用git diff > patch可以导出一个名为patch的补丁文件,包含了所有已修改但未提交的内容,然后把该文件拷到新电脑上的git目录下,使用git apply patch把补丁打上即可,两边的git库要保证是同一个版本,不然有可能出错

建一个分支不就好了。。。。这才是git的精髓啊

zhangshuaiguo
  • 1
新手上路,请多包涵

分布式管理的精髓

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏