git笔记十:本地仓库同步到gitlab

本地仓库同步到gitlab

帮助文档

git remote --help

操作场景:

  • 本地创建git仓库(含有readme.md文件), commit了三次
  • gitlab网站创建了一个项目 添加了readme.md 文件
  • 再本地添加 远程关联
  • push到gitlab

1:添加远程分支的关联

git remote  add  gitlab    git@git.demo123.com:dotnet/basics/gitstudy.git

2: 拉取到本地来吧

git fetch  gitlab
  1. 因为本地和远程的readme.md 文件没有做合并, 我们现在来 merge一下
soaeon@DESKTOP-FUJJTHR MINGW64 /f/gitstudy (master)
$ git merge gitlab/master
fatal: refusing to merge unrelated histories

  1. 将两个不相干的文件 merge一下
soaeon@DESKTOP-FUJJTHR MINGW64 /f/gitstudy (master)
$  git merge     --allow-unrelated-histories     gitlab/master

结果如下:

Merge remote-tracking branch 'gitlab/master'

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
F:/gitstudy/.git/MERGE_MSG [unix] (00:17 23/05/2019)                    1,1 全部
"F:/gitstudy/.git/MERGE_MSG" [unix] 7L, 272C

我们不做任何更改, 直接esc : wq 保存一下即可

merge的结果如下:

soaeon@DESKTOP-FUJJTHR MINGW64 /f/gitstudy (master)
$  git merge     --allow-unrelated-histories     gitlab/master
Merge made by the 'recursive' strategy.
 README.md | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 README.md

执行gitk 查看一下分支图

soaeon@DESKTOP-FUJJTHR MINGW64 /f/gitstudy (master)
$ gitk
  1. 推送到远端
git push gilab  master

git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,

​ 第一个master是本地分支名,第二个master是远程分支名。

关于本地分支推送到远程分支

推送本地分支local_branch到远程分支 remote_branch并建立关联关系(origin 是git 仓库url的简称)

a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch

git push

b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch

git push -u origin/remote_branch

c.远程没有有remote_branch分支并,本地已经切换到local_branch

git push origin local_branch:remote_branch

posted @ 2019-05-23 01:16  soaeon  阅读(1558)  评论(0编辑  收藏  举报