git提交到github的问题

有这样一个项目文件夹:

react-demo //项目文件夹
  src  //代码目录
  static  //静态资源目录,有一大堆图片
  .gitignore
  package.json

第一次提交到github,步骤如下:

admin@DESKTOP-hello MINGW64 /d/workspace/www/react-demo
$ git init    //把文件变成Git可以管理的仓库。初始化后打开隐藏的文件可以看到有一个.git文件。
$ git add .   //把文件全部提交到暂存区。
$ git commit -m "first commit"    //把暂存区的所有文件提交到仓库区,-m后接评论。
$ git remote add origin https://github.com/myusername/react-demo.git   //把本地仓库与远程仓库连接起来。只需要连接一次,以后提交的时候就可以不用这条命令了。
$ git push -u origin master   //把仓库区的文件提交到远程仓库里。提交后在远程仓库上刷新一下就可以看到提交的文件了。

上面步骤已经顺利完成,文件提交成功了。

然后,我把.git文件删了。src中的代码修改了,其他几个文件|文件夹中的内容没修改。现在要第2次提交到远程仓库。按理说,重新走一遍上面的步骤,也是可以的,但是,static里面有几百M图片,github速度慢,所以我想只提交变动过的src目录到远程仓库。

问题:
如果重新走一遍上面的步骤,static目录会重新上传吗?因为怕重新上传,所以不敢试,先来这里问一下。
如果重新走上面的步骤static目录会重新上传,那怎样可以让它不重新上传?

阅读 3k
3 个回答

为啥要把目录 .git 删了?

此目录是要保存版本信息的,删了就无法区分各个提交,各个版本了,

现在的情况是现在的工作目录已经不受 git 控制了,所以,只能从头开始

那怎样可以让它不重新上传?

取决于是否你需要在本地保存信息?

如果你需要在本地保存信息,可以执行以下操作:

  1. 使用 $ git clone ....... 将你的 Git 仓库克隆下来
  2. 然后,在新目录下修改 src 里的代码
  3. 然后,使用 $ git add . 添加修改后的内容到暂存区域
  4. 然后,使用 $ git commit - m "提交信息" 提交信息到本地仓库
  5. 最后,使用 $ git push 推送到 GitHub 仓库

在上面的第一步中,需要从 GitHub 下载数据信息(包括 static 目录),可能需要花费一定时间,不过下载一般比上传快

如果你不需要在本地保存信息,直接到 GitHub 官网去修改 src 里的代码即可,不需要上传或下载 static 目录

有个方法可以绕过这个问题。

到另外一个文件夹git clone你这个仓库,
然后把修改的src文件夹粘贴过去,
然后在推送修改的文件。
这样差分就只有src这一个文件夹了。

git init
git remote add origin repo_url
git add src
git commit -m 'commit message'
git push origin master
选择性提交修改的src就行了
提交完,static确定没改过的话执行下git checkout .重置成远端的状态

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