git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址

“我会做你所向披靡的利剑”。

一、前言

公司的git项目里,一个仓库会有好多个项目,而我想把指定的本地文件夹放到指定的远程仓库文件夹里,一开始我不想把整个仓库都拉下来,因为实在是太大了,整整4个G多,我只想传一个文件夹上去而已,然后试了很多次,还是不行,所以只能作罢,第一次搞的时候,必须把整个仓库的都pull下来,然后把我想上传的文件放到指定到项目里,再push才行。

二、实操

场景一:第一次搞这个,远程git里面已经有很多项目,而我想把本地某个文件夹放到远程项目4文件夹里面去,应该怎么做?
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第1张图片

1、本地任意找一个空文件夹,在终端打开
【前面的git安装、生成密钥和添加SSH Key步骤就省略了,以及新建gitee仓库这些也不讲,没遇到什么问题,我用的码云做的测试,原因是GitHub上不去,然后公司gitlab也不能乱搞,不过模式都差不多,没啥大区别】

2、git init
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第2张图片

此时我的本地文件夹会多出一个隐藏的.git文件夹
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第3张图片

3、git remote add a123 [email protected]:bfz50/test1.git
关联远程仓库,仓库名随意写,没影响,比如a123,不用跟远程一样
这个地址从仓库右侧的按钮下可以看到地址
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第4张图片

这一步没有回显
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第5张图片

以上三步第一次做完,以后就不用做了,除非你在其他文件夹,就要再执行一次。

4、git pull --rebase a123 master
这一步第一次下载要好久,rebase后面的仓库名要和上一步git remote add 后面的远程名要一样,你也可以起个a123之类的,没啥所谓,但是master是分支名,不能动

此时你的本地文件夹会多了一些内容,和远程仓库上的一模一样
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第6张图片

5、把你要传的文件(夹)放到本地文件夹你想放的位置(原本是没有的)
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第7张图片

6、git add .
这一步没有回显,别忘了那个点(.)

7、git commit -m “场景一:上传指定文件夹”
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第8张图片

这一步会告诉你,你的文件变动内容,上面的意思是,你加了一个文件,在项目4/新的原型文件里面

8、git push -u a123 master
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第9张图片

再看远程仓库
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第10张图片

文件夹已经上传成功
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第11张图片

说明:
4,5,6,7是以后增加文件时的固定步骤,先拉取最新的,然后把你想传的文件放到对应的文件夹,然后add、commit和push。

pull的时候如果那个远程名没有写对,就会报错
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第12张图片
应该是a123

有一点要注意的是,“以上步骤”,拉下来以后,不要动本地文件,删除和修改都不行,不然下次拉取的时候会提示
在这里插入图片描述

这个删改的问题等下讲,上面的步骤对你新增文件、新增文件夹是不会受影响的。

如果有人动了你远程项目4里面的文件,直接把整个文件夹删掉会怎样?
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第13张图片

这个操作会导致你pull时本地文件夹的文件也会被删掉
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第14张图片

git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第15张图片

pull相当于同步远程仓库里的内容。

如果有修改文件的需要呢?
此时pull将报错,所以需要先commit,然后pull。

总结下:

1、你新增文件:pull、add、commit、push

2、你改了本地文件:add、commit、pull、push

3、别人改了远程文件:pull、add、commit、push

4、你和别人同时改了同路径同一份文件,你改了本地的,他改了远端的:报错

如果新增文件时我先commit再pull会怎么样呢?如果别人没有动你的远程文件,那么是没有事情的;
如果别人删了你的远程文件,然后你不知情,本地加了文件以后,直接commit,再pull,
pull时你本地也会删,这个时候注意,这个同步相当于你删了本地文件,此时你去push是无法成功的
需要再走一次上面的第3步的流程,也就是commit,然后push。

简单来说,有人动了远程文件,你改了本地文件,但是它们不是同一份,那么你需要
先commit、pull,再commit,再push。

如果你使用的是clone下载文件下来的话,那么需要进入仓库的文件夹,然后使用
git remote
查看对应的远程名,再使用远程名代替a123。
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第16张图片

最后,可以用sourcetree去拉取项目,其他的地方不用怎么配置,有一个地方需要注意
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第17张图片

git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第18张图片

如果填git开头的提示这是一个无效的源路径/URL,可以填https开头的
git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址_第19张图片

然后输入你登陆web上的git时的账号密码即可。

你可能感兴趣的:(git上传本地文件夹到远程指定文件夹,SourceTree克隆使用http地址)