1. 第一种方式-本地新建

新建一个文件夹用来存放项目文件,如project_1

1.新建本地仓库,新建完成后会生成一个.git文件

git init

2.新建分支,如test1

git checkout -b test 

3.暂存,添加文件提交到暂存区

git add .

4.提交,将代码提交到本地仓库

git commit -m 备注信息

 5.连接远程仓库

git remote add origin 仓库地址 

 6.提交到远程仓库。test1为新建的分支名称

git push --set-upstream origin test1

报错分析:

git config --global http.sslVerify false

补充:

git push只可以使用--set-upstream,等价与使用 -u

用法:git push -u origin mybranch1

作用:

1.推送本地分支mybranch1到远程主机originmybranch1分支

2.追踪远程分支,远程没有mybranch1就自动创建一个

3.设置origin为默认主机

 

 github查看提交的代码

 

 

在第6步,若要新建和远程仓库相同的分支,如main,在提交git push的时候会报错,因为需要先拉取在合并,就是将远程仓库里的最新代码拉到本地来,再将本地的推过去

 

 查找资料:

1)先把git的东西fetch到你本地然后merge后再pushmaster为远程仓库主分支,现在为main

$ git fetch origin master

$ git merge origin FETCH_HEAD

先抓取远程仓库的更新到本地,然后与你的本地仓库合并,(如果有冲突就要解决冲突后再合并,冲突问题比较复杂,这里就不详细说了),这样就可以使远程仓库和你本地仓库一致了,然后就可以提交修改了。

2)这2句命令等价于

$ git pull origin master

但是使用git fetch + git merge 更加安全。

3git pull --rebase origin master

重定基,可以是历史更加统一,即使提交历史趋向于一条直线。

补充:他们之间的关系

git pull = git fetch + git merge FETCH_HEAD

git pull --rebase =  git fetch + git rebase FETCH_HEAD

具体解决如下:

git pull origin main --allow-unrelated-histories

直接用git pull origin main会报错,

 原因分析:

可能是这两个仓库内容是完全不一样的,他们之间没有关联。因为我本地仓库存放A,远程存放B,我想把B拉过来,本地存放A+B,但是执行pull命令是要完全覆盖本地,本地直接变成B了,这样就产生了冲突。

而平时的情况是本地存A,在远程修改后变成A+1,想要让本地也同步远程更新,就执行pull命令,用远程的A+1覆盖了本地的A

解决方案:git pull origin main --allow-unrelated-histories

git pull 命令后,加上--allow-unrelated-histories ,这样就让两个没关联的内容同时存在了,本地就成功的存放了A+B

注意,这时候想要将合并成功的本地仓库推入远程仓库,因为本地仓库更新了,所以要先提交,然后再执push命令

2. 第二种方式--克隆

git clone https://github.com/xuweiqi1461/test.git

其他步骤与第一种方式相同

 

posted on 2023-08-01 15:06  阿吉啊  阅读(321)  评论(0编辑  收藏  举报