git 查看远程仓库
git remote -v
移除不需要的远程仓库
git remote rm origin
添加远程仓库
git remote add origin 仓库地址
需求:从远程仓库A拉代码到本地,然后更换关联的远程仓库为B,推送本地代码到B仓库
步骤:从远程仓库A拉代码到本地:git clone URL (URL为A仓库地址)
切换关联的远程仓库为B仓库:git remote set-url origin URL (URL为B仓库地址)
坑点:推送本地代码到仓库B出现报错:
To https://gitee.com/tcljr1314/ruoyi.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/tcljr1314/ruoyi.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:
1.强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容,如果远程仓库是刚建的,没有代码,可以这样操作,尽量避免这种操作方法。
git push -f
2.先把git的东西fetch到你本地然后merge后再push
$ git fetch
$ git merge
3.在使用的时候,git merge,又出现了以下的问题
fatal: refusing to merge unrelated histories
对于这个问题。使用git pull origin master --allow-unrelated-histories
4.然后继续git merge,依然有问题
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
这个就好处理了,是我们没有提交当前的变化, git add .,git commit -m “提交信息”,然后再来一次git merge,然后ok.
然后输入git pull,显示如下:Already up to date.
最后就可以执行git push origin master
将代码上传到公司的远程仓库中。
PS D:\WORKSPACE\taoChengProject\test\RuoYi-Vue\ruoyi-ui> git push
Enumerating objects: 1, done.
Counting objects: 100% (1/1), done.
Writing objects: 100% (1/1), 245 bytes | 245.00 KiB/s, done.
Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/tcljr1314/ruoyi.git
e194346..04aff18 master -> master
开始开发前,从master创建feature分⽀,在此分支开发
从代表最新已发布版本的master分⽀上创建⼀个通常以feature/前缀命名的特性分⽀,然后在这个分⽀上提交代码修改。也就是说,每个⼯作项(可以是⼀个⼈完成,或是多个⼈协作完成)对应⼀个特性分⽀,所有的修改都不允许直接提交到master分⽀。
开发时,在本地创建feature-dev分支,选择该分支,开发完成后提交到远程的feature-dev,如果远程没有该分支则会创建
git checkout master #切换到master分支
git pull #更新到最新代码
git branch feature-dev
git checkout feature-dev
git push --set-upstream origin feature-dev
需要上线时
一、从master拉取新分支
git checkout master #切换到master分支
git pull #更新到最新代码
git checkout -b release001 #创建新分支并切换到该分支
git merge feature-dev #合并开发分支
git push origin release001 #推送新分支到远程仓库
git branch --set-upstream origin release001 #关联远程仓库
git pull #尝试拉取验证
上线以后
发布到线上正式环境后,合并相应的release分⽀到master分⽀,在master分⽀上添加tag,同时删除该release分⽀关联的feature分⽀。
为了避免在代码仓库⾥堆积⼤量历史上的feature分⽀,还应该清理掉已经上线部分feature分⽀。如果要回溯历史版本,只需在master分⽀上找到相应的版本的tag即可
1.在master分支下,设置tag标签为v.10,并指定版本发送:
git tag -a v1.0 -m “版本1”
git push origin v1.0
8、此时我们使用命令git tag时就可以看到版本信息,如果需要删除tag时,请参考上面的以下链接。
https://blog.csdn.net/b735098742/article/details/78935748
一、删除本地分支
要删除本地的Git 分支,请按照以下步骤操作:
首先,确保你不在要删除的分支上。可以使用git checkout命令切换到其他分支。例如,切换到 master 分支:
git checkout master
接下来,使用git branch -d命令删除本地分支。如果分支已经被合并,可以使用 -d选项。例如,删除名为feature-branch的分支:
git branch -d feature-branch
3.如果分支尚未合并,可以使用 -D选项强制删除分支:
git branch -D feature-branch
二、删除远程分支
要删除远程的Git 分支,请按照以下步骤操作:
要删除远程分支,可以使用git push命令。例如,删除名为origin的远程仓库上的feature-branch分支:
git push origin --delete feature-branch
这里的origin是远程仓库的别名,feature-branch是要删除的远程分支名称。
删除本地和远程分支后,你可以使用git fetch -p命令更新本地的远程跟踪分支列表,以确保已删除的远程分支不再显示:
git fetch -p
以上是删除 Git 本地和远程分支的方法。
三、注意点
在删除 Git 分支的过程中,我们需要注意以下几点:
在删除分支之前,确保分支上的重要更改已经合并或备份。因为删除分支会导致该分支上的提交丢失,所以在删除之前请确保分支上的所有重要更改已经合并到其他分支或保存到另一个地方。
如果你不确定分支是否已经合并,可以使用git branch --merged命令查看已经合并的分支列表。同样,可以使用git branch --no-merged命令查看尚未合并的分支列表。
在删除远程分支之前,请与团队其他成员协商,以确保不会影响他们的工作。在团队协作环境中,删除远程分支可能会导致其他人的工作受到影响,所以请确保在删除远程分支之前与团队其他成员充分沟通。
如果你发现删除分支后需要恢复该分支,可以使用git reflog命令查找该分支的最后一个提交。git reflog会显示 Git 操作记录,包括提交、分支切换等。找到该分支的最后一个提交后,可以使用git checkout -b命令重新创建该分支。例如,重新创建名为feature-branch的分支,并将其指向最后一个提交commit-hash:
git checkout -b feature-branch commit-hash
这里的commit-hash是该分支最后一个提交的哈希值。
总之,在删除 Git 分支时,请注意备份重要更改、与团队成员协商并确保在需要时可以恢复分支。这样,你可以更加放心地管理你的项目分支。
总结
本教程介绍了如何在 Git 中删除本地和远程分支的方法。首先,我们需要切换到其他分支,然后使用git branch -d或git branch -D命令删除本地分支。在删除远程分支时,我们需要使用git push origin --delete命令。同时,本教程还强调了在删除分支前需要注意备份重要更改、与团队成员充分沟通,以及如何在删除后恢复分支。
推荐这篇博客:https://blog.csdn.net/qq_42482078/article/details/123337412?spm=1001.2014.3001.5506