使用git把本地目录传到远程仓库

本文详细介绍了如何将本地不为空的目录与远程Git仓库进行关联并上传的过程,包括初始化仓库、添加文件、提交更改、设置远程仓库、解决历史记录冲突等关键步骤。

需求:

要把本地不为空的一个目录和远程现有的一个仓库关联
步骤如下:

git init //生成.git目录
git add . //把当前目录里的文件加入到暂存区
git commit -m '上传' //从暂存区提交到仓库
git remote add origin 远程仓库地址 //添加远程仓库
git branch --set-upstream-to=origin/<branch> master //本地仓库和远程仓库关联,git pull时就会有提示
git status //会有信息显示:Your branch is up-to-date with 'origin/master'.
不过一般远程仓库会和现有仓库合并不了,单纯的git pull会提示fatal: refusing to merge unrelated histories
git pull --rebase origin master //看来以rebase变基的方式可以合并啊
git push     //提交到远程仓库

参考地址1

posted on 2019-01-11 17:03 芽小凡 阅读( ...) 评论( ...) 编辑 收藏
Git中压缩本地仓库的所有文件并传送到远程仓库通常是指将本地的改动打包成一个提交(commit),然后推送到远程仓库。这里的关键操作是"压缩"或"合并"多个提交为一个,以便于更简洁地传输。以下是这一过程的一般步骤: 1. 确保所有本地的更改都已经提交,如果有未提交的更改,需要先使用`git add`添加到暂存区,然后用`git commit`提交。 2. 使用`git rebase`命令的交互模式(`-i`)来合并多个提交。你可以选择将最近的几个提交合并为一个提交,命令格式如下: ``` git rebase -i HEAD~N ``` 这里的`N`代表你想要合并的提交数量,`HEAD~N`表示从当前分支的最新提交开始向前数N个提交。 3. 在打开的文本编辑器中,你会看到最近的N个提交列表。将除了第一个提交的其他提交前的`pick`改为`squash`或者`fixup`(如果你不想要保留这些提交的提交信息,就使用`fixup`,否则使用`squash`)。保存并关闭编辑器,Git会自动开始合并过程。 4. 如果使用了`squash`,Git会打开另一个编辑器让你合并这些提交的提交信息,根据需要修改后保存退出。 5. 完成这些步骤后,你的本地仓库就会只有一个包含之前所有提交内容的新提交。现在可以使用`git push`命令将这个提交推送到远程仓库了。 ``` git push origin <branch-name> ``` 这里的`<branch-name>`是你当前所在的分支名称。 6. 如果你的本地分支领先远程分支多个提交,并且远程分支设置了保护不允许强制推送,你可能需要使用`git push --force-with-lease`命令来安全地强制推送。 需要注意的是,`git rebase`操作会改写提交历史,这可能会影响到其他协作者。在执行这样的操作之前,最好先与团队成员沟通,确保不会对其他人的工作造成影响。另,如果你的本地提交已经推送到了远程仓库,那么在改写历史后推送时要格小心,以避免可能的冲突和数据丢失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值