如何将更改推送到分支?

31

请问你可以解释一下当我有访问仓库的权限时如何使用Git吗:

  • 如何下载仓库
  • 如何推送更改到选定的分支
  • 如何选择要推送的分支

我尝试了以下步骤:

git init
git clone git.repository
git pull develop  (where develop is branch)
git add .
git commit -m "m"
git push origin develop

结果是:

* branch            develop    -> FETCH_HEAD
fatal: refusing to merge unrelated histories

我做错了什么?

3个回答

40

提交更改的三个步骤

假设您在GitHub上创建了一个名为feature-branch的新分支。

enter image description here

FETCH

    git pull --all         Pull all remote branches
    git branch -a          List all branches now

结账并切换到特性分支目录。你可以直接从上面的branch -a命令的输出中复制分支名称

git checkout -b feature-branch

验证

接下来使用git branch命令查看当前分支。它将显示*号前面带有feature-branch的分支。

git branch   check current branch
git status   check the state of your codebase       

提交

git add .   add all untracked files
git commit -m "Rafactore code or use your message"

更新并将更改推送到原始服务器

 git pull origin feature-branch
 git push origin feature-branch

或者您可以在提交之前对主分支进行变基

git fetch
git rebase origin/master
git push origin feature-branch

1
非常有用的答案。 - giftmarimo

13

如何下载存储库

# download a repository
git clone <url>

如何推送更改到所选分支

# push changes to remote branch
# assuming you are on the master branch right now
git push origin master

如何选择要推送的分支

 # push any desired branch to remote
 git push -u origin local_branch_name:remote_branch_name

你已经将代码提交至主分支,clone之后如何设置分支? - Darama
当我执行 tr push 时,出现以下错误:error: src refspec develop does not match any. error: failed to push some refs to 'git@github.com:ValTrading.git'。 - Darama
如果你没有远程分支,那么请将本地分支检出到任意想要的名称,然后简单地进行推送。git checkout -b b1 && git push origin b1 - CodeWizard
我不需要创建新的分支,我需要推送到已有的分支。 - Darama
如果远程仓库中没有该分支,你需要切换到该分支才能将其推送。 - CodeWizard
你能转到聊天吗? - Darama

3

首先,我建议您阅读这篇不错的文档

先决条件:
- 已安装Git。
- 可以访问仓库。

  1. 您可以按照以下命令下载存储库:
    git clone <仓库 https 或 ssh 链接>

  2. 首先需要添加更改、创建提交、添加远程分支,然后进行推送。
    git remote add <仓库名称> <仓库 URL>
    例如,如果您使用BitBucket: git remote add origin ssh://git@bitbucket.org//.git
    git status // 查看所有更改 (应该以红色打印出来)
    git add <文件名> // 将文件添加为 Git 暂存
    git commit 或 git commit -m '一些消息'
    git push <远程名称> <分支名称>


git remote add <repo name> <repo url> 中的 repo name 是什么? - Darama
当我克隆时,它下载了文件,但只有git目录。 - Darama
以下是一个使用Bitbucket的示例:git remote add origin ssh://git@bitbucket.org/<project>/<gitrepo>.git - MilanNz
好的,那么你的链接看起来会像这样:git remote add origin https://github.com/<你的用户名>/<仓库名称>.git - MilanNz
当您在GitHub、BitBucket、GitLab等平台上创建新的代码库时,您将获得有关如何初始化git、远程分支网址等方面的说明。 - MilanNz
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接