有人弄乱了原籍/主人。他们将大约15项提交合并到了其中,这些提交本来应该在以后的冲刺中才出现。
我应该是本地分支机构的起源/母版。我如何将原点/母版重置为我的本地分支?
我在想可以将我的本地分支推送到原始服务器上,称为masterbackup,然后签出origin / master,将其重置为origin / masterbackup,然后进行推送。像这样:
library(igraph)
library(tidyverse)
library(ggraph)
# Create example matrix
id <- c("s01", "s02", "s03", "s04", "s05")
s01 <- c(0, 0, 0, 1, 1)
s02 <- c(0, 0, 1, 1, 1)
s03 <- c(1, 0, 0, 0, 1)
s04 <- c(0, 1, 0, 0, 0)
s05 <- c(0, 0, 0, 0, 0)
links <- data.frame(id, s01, s02, s03, s04, s05)
links <- column_to_rownames(links, var = "id")
links <- as.matrix(links)
expertise <- c("neuro", "micro", "phys", "phys", "neuro")
nodes <- data.frame(id, expertise)
# Generate igraph object
network <- graph_from_adjacency_matrix(links, weighted = NULL, mode = "undirected")
# Generate plot
ggraph(network, layout = "circle") + geom_edge_arc(color = "darkgray", strength = 0.15) +
geom_node_point(size = 8, aes(color = nodes$expertise)) + geom_node_text(aes(label = id), nudge_y = -0.2) +
theme_void()
那行得通吗?
谢谢。
答案 0 :(得分:3)
您想要的只是一个命令:
(在继续之前阅读完整的答案...我在末尾添加了可选的“安全”命令)
git push -f origin masterbackup:master
以下是文档中描述冒号的最后一个参数的相关部分:
... 指定要更新哪个目标引用的源 目的。参数的格式是可选的加号+, 然后是源对象,然后是冒号:,然后是 通过目的地裁判。
通常是您要推送的分支的名称,但是 它可以是任意的“ SHA-1表达式”,例如master〜4或HEAD (请参见gitrevisions [7])。
告诉远端的哪个ref以此更新 推。
来源:https://git-scm.com/docs/git-push
英语中,此命令说:使master
存储库中的origin
分支指向与本地存储库中masterbackup
分支相同的提交。用git术语来说,这称为“将masterbackup
推到远程master
上的origin
”
如果需要更高的安全性,请在执行此命令之前执行以下操作:
git fetch origin master
git branch bad-master origin/master
如果要恢复到修复之前的状态,可以执行以下操作:
git push -f origin bad-master:master
一旦您对不需要返回感到满意,可以使用以下方法删除该分支:
git branch -D bad-master
需要大写字母D,因为否则git将拒绝删除将孤立提交的分支。
最后一点……您的环岛方法似乎也可以使用,除了在最后一个-f
中需要一个push
并且还会留下不必要的分支({{ 1}})。
(似乎您在git用户中普遍认为远程回购比实际更重要,这也许是使用集中式vc的副作用。这通常以不必要的masterbackup
和push
命令。分支不需要在服务器上就可以使用。远程仓库与本地仓库完全相同,没有额外的功能。 )