如何把我们的源码同步到gitee或github远程仓库中
同步方式分以下几种:
1、命令同步
先查看下我们是否有远程仓库:git remote -v
如有就要删除远程仓库或是同命令覆盖,如全新安装就不需要!
删除已关联的名为origin的远程库: git remote rm origin
关联GitHub的远程库: git remote add github git@github.com:xxx/xxx.git
关联Gitee的远程库: git remote add gitee git@gitee.com:xxx/xxx.git
2、配置修改
修改.git文件夹内的config文件:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote " git " ]
url = git@github.com:chloneda/demo.git
fetch = +refs/heads/* :refs/remotes/github/*
[branch "master"]
remote = origin
merge = refs/heads/master
将上述文件内容[remote "origin"]内容复制,修改origin名称
3、同步流程
上传热媒
git add . (将变更提交至缓存区)
git commit -m "提交说明(注释) " - update可以输入你需要上传的描述
提交命令
# 提交到github
git push github master '- 将本地变更推送至远程仓库master分支' #
提交到gitee
git push gitee master '- 将本地变更推送至远程仓库master分支'
查看状态
更放心代码
# 从github拉取更新
git pull github
# 从gitee拉取更新
git pull gitee
项目推送时遇Git推送错误:
error: failed to push some refs to ‘git@gitee.com:name/project.git’
1、分析:
这个问题的产生是因为远程仓库与本地仓库并不一致所造成。
2、解决方案:
那么我们把远程库同步到本地库就可以了。
执行命令:
git pull --rebase origin master
将远程仓库中的更新合并到本地仓库,–rebase的作用是取消掉本地仓库中刚刚的commit 然而未果,出现错误:
error: src refspec master does not match any
分析:引起该错误的原因是,目录中没有文件,空目录不能提交。
依次执行:
git pull origin master
git push origin master
踩到的坑
上述过程中,更新或提交代码时可能会遇到fatal:refusing to merge unrelated histories (拒绝合并无关的历史) 错误,解决办法:
首先将远程仓库和本地仓库关联起来。
git branch --set-upstream-to=origin/remote_branch your_branch
其中,origin/remote_branch是你本地分支对应的远程分支,your_branch是你当前的本地分支。
然后使用git pull整合远程仓库和本地仓库。
git pull --allow-unrelated-histories (忽略版本不同造成的影响)
重新更新、提交即可。
注: 如遇到 Git没有共同祖先的两个分支合并 的情形请自行查询!
报错处理
git pull 的时候报如下错误代码: error: Pulling is not possible because you have unmerged files. 尝试用git stash没有作用。 Pull is not possible because you have unmerged files.
本地的push和merge会形成MERGE-HEAD(FETCH-HEAD), HEAD(PUSH-HEAD)这样的引用。HEAD代表本地最近成功push后形成的引用。MERGE-HEAD表示成功pull后形成的引用。可以通过MERGE-HEAD或者HEAD来实现类型与svn revet的效果。
解决:
1.将本地的冲突文件冲掉,不仅需要reset到MERGE-HEAD或者HEAD,还需要–hard。没有后面的hard,不会冲掉本地工作区。只会冲掉stage区。
git reset –hard FETCH_HEAD
2.git pull就会成功。
如我们现在在dev分支上,刚开发完项目,执行了下列命令:
git add .
git commit -m ' 提交的备注信息 '
git push -u origin dev
想将dev分支合并到master分支,操作如下:
2、如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
// 如果是自己一个开发就没有必要了,为了保险期间还是pull
3、然后我们把dev分支的代码合并到master上
git status
On branch master
Your branch is ahead of ' origin/master ' by 12 commits.
(use " git push " to publish your local commits)
nothing to commit, working tree clean
更新远程分支列表
git remote update origin --prune
查看所有分支
git branch -a
删除远程分支Chapater6
git push origin --delete Chapater6
删除本地分支 Chapater6
git branch -d Chapater6
本文来自博客园,作者:hdlan,转载请注明原文链接:https://www.cnblogs.com/hdlan/p/13904878.html
来源:https://www.cnblogs.com/hdlan/p/13904878.html