首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不允许用力推进

不允许用力推进
EN

Stack Overflow用户
提问于 2022-01-02 05:00:02
回答 1查看 283关注 0票数 1

将相同的文件重新提交到远程分支

我正在做大学的一个项目。

我已经提交了已损坏的项目文件(degrees.pysmall.csv .remote branch 1 ),它是**GitHub repository的受保护分支(不能使用强制推送),现在我想重新提交更新后的项目文件(degrees.pysmall.csv .(等)再转至第1分部。

我无法将更新后的相同文件重新提交给我的分支1。

我使用的是git fetechgit checkout命令,我想做的是

代码语言:javascript
复制
git init    
git remote add origing <origin> 
git fetch origin    

#create branch branch1 locally switch to branch1 and copy from origin/branch1
git checkout -b branch1  origin/branch1   
git add --all    
git commit -m "comments"  
git push

这就是:

代码语言:javascript
复制
dir
__pycache__  degrees.py  large  small  util.py

Sbariz@Sbariz-PC MINGW64 ~/desktop/cs50ai_search/s_degrees
$ git init
Initialized empty Git repository in C:/Users/Sbariz/Desktop/CS50ai_search/s_degrees/.git/

Sbariz@Sbariz-PC MINGW64 ~/desktop/cs50ai_search/s_degrees (master)
git remote add origin https://github.com/me50/shjee1063.git

Sbariz@Sbariz-PC MINGW64 ~/desktop/cs50ai_search/s_degrees (master)
git fetch origin**
remote: Enumerating objects: 29, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 29 (delta 1), reused 26 (delta 1), pack-reused 0
Unpacking objects: 100% (29/29), 21.60 MiB | 1.56 MiB/s, done.
From https://github.com/me50/shjee1063
 * [new branch]      ai50/projects/2020/x/degrees -> origin/ai50/projects/2020/x/degrees
 * [new branch]      ai50/projects/2020/x/tictactoe -> origin/ai50/projects/2020/x/tictactoe
 * [new branch]      main       -> origin/main

Sbariz@Sbariz-PC MINGW64 ~/desktop/cs50ai_search/s_degrees (master)
$ git branch -a
  remotes/origin/ai50/projects/2020/x/degrees
  remotes/origin/ai50/projects/2020/x/tictactoe
  remotes/origin/main

Sbariz@Sbariz-PC MINGW64 ~/desktop/cs50ai_search/s_degrees (master)
$ git checkout -b ai50/projects/2020/x/degrees     origin/ai50/projects/2020/x/degrees**

error: The following untracked working tree files would be overwritten by checkout:       
 __pycache__/degrees.cpython-37.pyc
 __pycache__/util.cpython-37.pyc
        degrees.py
        large/movies.csv
        large/people.csv
        large/stars.csv
        small/movies.csv
        small/people.csv
        small/stars.csv
        util.py

Please move or remove them before you switch branches.
Aborting
EN

回答 1

Stack Overflow用户

发布于 2022-01-02 05:50:58

您可以先保存修改过的文件(git stash),然后签出分支并恢复本地修改:

代码语言:javascript
复制
git stash
git checkout -b ai50/projects/2020/x/degrees     origin/ai50/projects/2020/x/degrees
git stash pop

注意:如果您正在使用Git for Windows,您可以:

  • 将其升级到最新版本 (Git 2.34.1,使用git update-git-for-windows命令)
  • 如果使用git switch,则使用命令。 git交换机A50/项目/2020/x/度

该命令有一个猜测模式

如果没有找到<branch>,但确实在一个具有匹配名称的远程(称为<remote>)中存在跟踪分支,则将其视为等效于: $ git交换机-c --轨道/

如果这仍然是一个问题,尝试拥有两个不同的工作树,从同一个本地克隆存储库。

  • 您当前的克隆存储库将保留在branch1上。
  • 使用git worktree创建第二个工作树(第二个本地文件夹,它是另一个分支的签出)。

这样,您就不必切换分支,只需选择正确的根文件夹,这取决于您想要处理的分支(添加/提交和推送)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70553704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档