【git】本地项目推送到github、合并分支的使用

1. github上创建仓库信息

  1. 点击个人头像,选择【你的仓库】

  2. 点击【新增】

  3. 填写仓库信息

2. 本地项目执行的操作

1.生成本地的git管理 (会生成一个.git的文件夹)

shell 复制代码
git init 

2.正常提交到暂存区,并填写提交消息

shell 复制代码
git add .
git commit -m "init"

3.关联远程仓库

shell 复制代码
git remote add origin https://自己的仓库url地址

4.推送到分支

shell 复制代码
git push -u origin master

这个时候可能会报错:
error: failed to push some refs to 'xxxxxxxx'
出现错误的主要原因是github中的README.md文件不在本地代码目录中

命令行中输入:

shell 复制代码
git pull--rebase origin master

之后再输入

shell 复制代码
git push -u origin master

注意:github上默认的分支是main分支,如果想直接推送到main分支上,可以直接推送。

shell 复制代码
git push -u origin main

5.github上查看:刚才推送到master分支下,就切换到master分支下

有本地项目,就说明提交成功了

3. 合并分支

如果在master分支上开发了一段时间,想合并到main分支上,可以按以下步骤进行操作:

master是待合并分支,main是合并后的分支。

1.确保本地代码库是最新的:

shell 复制代码
# 切换到本地的master分支
git checkout master

# 确保master分支与远程origin/master同步
git pull origin master

2.切换到本地的main分支并更新它:

shell 复制代码
# 查看当前仓库是否有该分支
git branch -a
# 或者查看远程分支:
git branch -r
 
# 切换到本地的main分支
git checkout main

# 与远程origin/main同步
git pull origin main

如果 error: pathspec 'main' did not match any file(s) known to git,说明该分支不存在:

shell 复制代码
# 创建并跟踪main分支
git fetch origin main
git checkout -b main origin/main

然后再进行上面的操作。

3.合并master分支到main分支

shell 复制代码
# 在main分支上合并master分支
git merge master

4.解决可能的冲突:合并时可能会出现冲突,需要手动编辑冲突文件,并添加并提交。

这时可能会出现 fatal: refusing to merge unrelated histories
原因 :git无法识别当前分支和你试图合并的master分支之间的共同提交历史。
解决方法:

shell 复制代码
# 强制Git进行合并
git merge --allow-unrelated-histories master

找到冲突文件,并手动修改。

shell 复制代码
# 将文件全部提交到暂存区
git add .

# 添加提交信息
git commit -m "merge master into main"

# 推送到远程仓库的main分支
git push origin main  

这样就已经合并成功了~

相关推荐
写不出来就跑路16 分钟前
基于 Vue 3 的智能聊天界面实现:从 UI 到流式响应全解析
前端·vue.js·ui
OpenTiny社区19 分钟前
盘点字体性能优化方案
前端·javascript
FogLetter23 分钟前
深入浅出React Hooks:useEffect那些事儿
前端·javascript
Savior`L23 分钟前
CSS知识复习4
前端·css
0wioiw039 分钟前
Flutter基础(前端教程④-组件拼接)
前端·flutter
花生侠1 小时前
记录:前端项目使用pnpm+husky(v9)+commitlint,提交代码格式化校验
前端
一涯1 小时前
Cursor操作面板改为垂直
前端
我要让全世界知道我很低调1 小时前
记一次 Vite 下的白屏优化
前端·css
1undefined21 小时前
element中的Table改造成虚拟列表,并封装成hooks
前端·javascript·vue.js