系统重装后,ssh -T git@github.com
命令提示 You’ve successfully authenticated……
github上的远程仓库版本已经超过一个月没有更新;
本地有更新的文件,但还没有拷贝到本地git仓库,也没创建本地仓库。
接下来的操作是无法恢复正常的git远程仓库更新,提示无任何需要更新的内容:
- git clone GitHub - yichuang-zh/ycproject: web
- cd 到克隆到本地的目录ycproject
- git init
- 把本地另一目录中有更新的文件拷贝到git克隆目录ycproject并cd到ycproject目录
- git add
- git连接从https切换到ssh
git remote -v && git remote rm origin
git remote add origin git@github.com:yichuang-zh/ycproject.git
- git add .
- git status
这个时候的问题是,git add .命令没有任何输出,git status 永远提示无文件要提交,干净的工作区。
感觉就是本地仓库与远程仓库没有对比,或对比出错了。
我查了一下文件,本地的git克隆目录中文件确实已经更新了。
这个要怎么弄?
=====
我之前尝试过不从远程克隆,而是在本地直接随便新建一个目录git init,然后把更新文件拷贝到这个目录,在这个目录里提交。但这样操作提示 远程有未合并的内容 之类。
看了很久也没看懂,感觉你好像有两个本地 git 仓库?
就标题而言,我的做法是,在重装系统之前把本地的 git 仓库打包(无论用什么方式),重装系统后再解包就是之前的 git 仓库了,这个仓库一直都是有 github 作为 remote 的,不需要重新连接(git remote add ...
)。
更新:
上述做法是我针对一个特殊仓库的做法,普通仓库的话就压根不用备份,重装系统后直接运行git clone https://github.com/user/repo
就行了。
CatEricka
(Cat Ericka)
3
git init 只有初始化没有 .git 的文件夹才有用。
如果你希望更新远程存储库,
git clone git@github.com:yichuang-zh/ycproject.git
- 完成你的修改
git add .
添加你的修改到暂存区
git commit
提交
git push
。因为你从远程 clone 的,所以无需设置 remote 和设置本地分支对应的默认 remote
1 个赞
按你说的流程,果然可以了:
git clone git@github.com:yichuang-zh/ycproject.git
- 完成修改
git add .
git commit
git push
。
我回想了一下,一个是没搞清楚git init,另一个是git clone没有用ssh,而是用了https,后面就乱了。
重装系统之前把本地的 git 仓库打包(无论用什么方式),重装系统后再解包就是之前的 git 仓库了,这个仓库一直都是有 github 作为 remote 的,不需要重新连接
重装系统时备份了很多东西,唯独没想起来有个git仓库,如果想到我肯定会备份一下。估计是很少用到它,所以想不起来。
CatEricka
(Cat Ericka)
5
这里的问题是,没有正确为分支指定远程追踪分支,假设你的分支叫 master
,那么你需要 git push -u origin master
。
这里的问题是,你新建的存储库和远程存储库没有共同的提交祖先,因此无法自动合并并快进。
1 个赞