关闭

git同步源码到gitee和github

时间: 2020-10-04阅读: 73标签: git

如何把我们的源码同步到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分支'

 查看状态

git status

更放心代码

# 从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分支,操作如下:

1、首先切换到master分支上

git  checkout master

2、如果是多人开发的话 需要把远程master上的代码pull下来

git pull origin master
//如果是自己一个开发就没有必要了,为了保险期间还是pull

3、然后我们把dev分支的代码合并到master上

git  merge dev

4、然后查看状态及执行提交命令

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
//上面的意思就是你有12个commit,需要push到远程master上
> 最后执行下面提交命令
git push origin master

5其他命令

更新远程分支列表
git remote update origin --prune

查看所有分支
git branch -a

删除远程分支Chapater6
git push origin --delete Chapater6

删除本地分支 Chapater6
git branch -d Chapater6


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/9816

关闭

如何清空git远程仓库项目的所有文件,并重新提交

希望可以保留现在这个远程仓库,然后清空里面的文件和文件夹,实现过程总结为:找个空文件夹把项目clone下来,删除内容,然后push

规范git commit的提交记录

交互式生成 commit 记录,需要用户调用自定义的 npm scripts,例如npm run commit。但还是可以直接调用原生 git 命令 git commit 来提交记录。而检查是在正式提交前进行的,因此不符合要求的记录不会生效,需要重新 commit。

git commit报错

在终端输入git commit -am \\\"**\\\",提交代码时,会触发pre-commit的钩子,他会在Git提交信息之前先做代码风格的检测,如果不符合相应规则,会报错

如何在Git提交大小写敏感的文件

大意是说, 忽略大小写敏感是为了在不同的文件系统上更好的工作。比如APFS,HFS +,FAT,NTFS等。例如,如果在目录列表里, Git期望找到一个文件叫Makefile,却找到了makefile,这时候,Git就假定它是同一文件,并继续将其记住为Makefile。

Git 如何优雅地回退代码? | 案例分析

今天给大家推荐一篇 Git 回滚代码的案例文章,相信大家在日常工作中,也会面临突发情况,需要紧急回滚到之前某个版本的代码,那本篇文章就有了一定的参考意义。另外一个规范的 Gitflow 工作流程

git创建与合并分支

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支

git 高级用法小抄

如果你觉得 git 很迷惑人,那么这份小抄正是为你准备的!请注意我有意跳过了 git commit、git pull/push 之类的基本命令,这份小抄的主题是 git 的一些「高级」用法

Git命令总汇

创建一个新的 git 版本库。这个版本库的配置、存储等信息会被保存到.git 文件夹中;更改设置。可以是版本库的设置,也可以是系统的或全局的

项目中常用的git指令

1.新建一个本地分支并切换到新建的那个分支:2.从一个分支切换到另一个分支:3.将代码恢复到最近的一次commit 时候的状态:4.将代码从最近的一次commit的状态恢复到最新的进度:

git中的 Merge 和 Rebase

Rebase 和 merge 都被设计用来将变更从一个分支整合到另一个分支,但是它们的实现方式却不同。下面假如我们有如下提交,merge 会将两个分支的代码合并,而 rebase 会将 feature 分支上所有的变更在 master 分支上重新应用一遍

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!