Git命令

放弃合并

git merge --abort

回退

git reset --soft HEAD^

从命令行创建一个新的仓库

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin gogs@gogs.babeltime.com:TV/ww.git
git push -u origin master

从命令行推送已经创建的仓库

git remote add origin gogs@gogs.babeltime.com:TV/ww.git
git push -u origin master

git fatal: 拒绝合并无关的历史的错误解决

本地初始化的项目 与 github 版本不一致, 导致无法提交
 
$ git pull origin master
 * branch            master     -> FETCH_HEAD
fatal: 拒绝合并无关的历史
解决方法
 
在pull 时候, 添加–allow-unrelated-histories参数 即可.
 
$ git pull origin master --allow-unrelated-histories                   
来自 https://github.com/itaken/python-login-demo
 * branch            master     -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE

创建Develop分支并推送到远程:

新建本地分支:git checkout -b develop master

推送到远程:git push origin feature/v2.0

将Develop分支合并到Master分支:

  # 切换到Master分支
  git checkout master

  # 对Develop分支进行合并

  git merge --no-ff develop

如果有冲突 解决冲突 git add .  git commit -m "" git push

如果没有冲突 直接git push

合并某一次提交:

例如要将A分支的一个commit合并到B分支:

首先切换到A分支

git checkout A

git log

找出要合并的commit ID :

例如

0128660c08e325d410cb845616af355c0c19c6fe

然后切换到B分支上

git checkout B

git cherry-pick 0128660c08e325d410cb845616af355c0c19c6fe

打标签:

git tag -a 0.1.1

推送所有标签

git push origin --tags

推送指定版本的标签

git push origin <版本号>

删除分支:

删除本地分支:

git branch -d fixbug-0.1

删除远程分支:

git push origin --delete feature/v2

git远程删除分支后,本地git branch -a 依然能看到的解决办法。

使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。

此时我们可以看到那些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令

这样就删除了那些远程仓库不存在的分支。

.gitignore规则不生效

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

1.
所有:git rm -r --cached .
单个文件或文件夹:git rm -r --cached filename 
2.git add .
3.git commit -m 'update .gitignore'
4.git push

 

在 Git 中,如果你想将一个仓库的内容合并到另一个已有的仓库中,而不是通过传统的 fork 操作,你可以使用以下步骤。这些步骤适用于任何 Git 仓库,不仅限于 GitHub。

假设我们有两个仓库:

  1. 源仓库(source-repo)
  2. 目标仓库(target-repo)

步骤 1:克隆目标仓库

首先,克隆你的目标仓库到本地:

sh

复制

git clone https://github.com/your-username/target-repo.git

cd target-repo

步骤 2:添加源仓库作为远程仓库

接下来,将源仓库添加为一个新的远程仓库。例如,我们称它为 source

sh

复制

git remote add source https://github.com/original-owner/source-repo.git

步骤 3:获取源仓库的内容

从源仓库拉取所有分支和标签:

sh

复制

git fetch source

步骤 4:合并或检查源仓库的内容

现在,你可以选择将源仓库的某个分支合并到目标仓库的相应分支。比如,要将 source-repo 的 main 分支合并到 target-repo 的 main 分支,可以这样做:

sh

复制

git checkout main

git merge source/main

如果你只想查看源仓库的内容而不立即合并,可以创建一个新分支来进行操作:

sh

复制

git checkout -b temp-branch source/main

这样你就可以在 temp-branch 上进行更改,并在准备好后再合并回主分支。

步骤 5:解决冲突(如有)

如果在合并过程中出现冲突,Git 会提示你手动解决这些冲突。编辑冲突文件以解决问题,然后提交更改:

sh

复制

git add .

git commit -m "Resolved merge conflicts"

步骤 6:推送更改到远程目标仓库

最后,将合并后的更改推送到远程目标仓库:

sh

复制

git push origin main

总结

通过上述步骤,你可以将一个源仓库的内容合并到已有的目标仓库中。这种方法允许你灵活地控制如何整合不同仓库的代码,而不仅仅依赖于托管平台提供的 fork 功能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值