我正在学习一些与git相关的主题和命令,当我使用以下组合时发生了这种情况 粪便 和 GitHub 特征,使用 git push
并同时在github上修改文件,我创建了2个分支(jsfirst
和 imagegallery
)只是想了解出了什么问题,我试图分析和打算在重要的项目不重复。
编辑为什么会这样?564903c (imagegallery) Image gallery
分支在图形视图中是断开的?
什么是 HEAD@{0}, HEAD@{1}, HEAD@{2}, HEAD@{3}
是指?
的输出 git log --all --decorate --oneline --graph
指挥部
* 76ebb92 (HEAD -> master) Merge branches 'master' and 'master' of https://github.com/sometest/test
|\
| * 4f264fe (origin/master) Created CONTRIBUTING.md
| * 1159fe3 Merge pull request #3 from sometest/code_of_conduct-patch-2
| |\
| | * a7184f0 (origin/code_of_conduct-patch-2) Updated code of conduct
| |/
| * 4369922 Merge pull request #2 from sometest/code_of_conduct-patch-1
| |\
| | * 1893331 (origin/code_of_conduct-patch-1) Created CODE_OF_CONDUCT.md
| |/
| * b3fbde0 Created .gitignore
| * 6275e91 Merge pull request #1 from sometest/add-license-1
| |\
| | * 38d02c5 (origin/add-license-1) Create LICENSE
| |/
* | cc0cdad (jsfirst) Silly story
* | a52170c Using events in JS
* | c271cdd Added number guessing game
* | 493a155 Learned basic of JS
|/
| * 564903c (imagegallery) Image gallery
|/
* 25266ce first commit
产量 git reflog
指挥部
76ebb92 (HEAD -> master) HEAD@{0}: reset: moving to HEAD
76ebb92 (HEAD -> master) HEAD@{1}: checkout: moving from 564903c3078ffdbdbd43bceb3da3495daddf82da to master
564903c (imagegallery) HEAD@{2}: checkout: moving from master to 564903c
76ebb92 (HEAD -> master) HEAD@{3}: checkout: moving from imagegallery to master
564903c (imagegallery) HEAD@{4}: checkout: moving from master to imagegallery
76ebb92 (HEAD -> master) HEAD@{5}: pull: Merge made by the 'recursive' strategy.
cc0cdad (jsfirst) HEAD@{6}: checkout: moving from imagegallery to master
564903c (imagegallery) HEAD@{7}: checkout: moving from master to imagegallery
cc0cdad (jsfirst) HEAD@{8}: reset: moving to cc0cdad
25266ce HEAD@{9}: checkout: moving from imagegallery to master
564903c (imagegallery) HEAD@{10}: checkout: moving from master to imagegallery
25266ce HEAD@{11}: checkout: moving from imagegallery to master
564903c (imagegallery) HEAD@{12}: checkout: moving from master to imagegallery
25266ce HEAD@{13}: checkout: moving from jsfirst to master
cc0cdad (jsfirst) HEAD@{14}: checkout: moving from imagegallery to jsfirst
564903c (imagegallery) HEAD@{15}: commit: Image gallery
25266ce HEAD@{16}: checkout: moving from master to imagegallery
25266ce HEAD@{17}: checkout: moving from jsfirst to master
cc0cdad (jsfirst) HEAD@{18}: commit: Silly story
a52170c HEAD@{19}: checkout: moving from master to jsfirst
25266ce HEAD@{20}: checkout: moving from jsfirst to master
a52170c HEAD@{21}: commit: Using events in JS
c271cdd HEAD@{22}: commit: Added number guessing game
493a155 HEAD@{23}: commit: Learned basic of JS
25266ce HEAD@{24}: checkout: moving from master to jsfirst
25266ce HEAD@{25}: commit (initial): first commit
Git命令历史
4221 git init
4222 git add README.md
4223 git commit -m "first commit"
4224 git remote add origin https://github.com/sometest/sometest.git
4225 git push -u origin master
4233 git checkout -b jsfirst
4235 git add chapter-1/hello.html
4236 git add README.md
4238 git commit -m "Learned basic of JS"
4241 git add chapter-1/numberguessinggame.html
4242 git commit -m "Added number guessing game"
4247 git add chapter-1/basic2/*
4249 git commit -m "Using events in JS"
4258 git add assessment-1/sillystorygenerator/*
4259 git commit -m "Silly story"
4262 git checkout master
4265 git add assessment-1/imagegallery/*
4266 git reset assessment-1/imagegallery
4270 git checkout -b imagegallery
4273 git add assessment-1/imagegallery
4274 git commit -m "Image gallery" .
4280 git checkout jsfirst
4284 git checkout master
4285 git merge --squash jsfirst
4287 git checkout imagegallery
4296 git merge --squash imagegallery
4297 git checkout master
4298 git merge --squash imagegallery
4305 git merge --squash imagegallery
4312 git reset --hard cc0cdad
4319 git checkout imagegallery
4323 git checkout master
4326 git pull
4333 git checkout imagegallery
4342 git checkout master
4343 git merge --squash imagegallery
4345 git merge imagegallery
4366* git chekout 564903c
4371* git commit -a -m "Image Gallery"
4372* git checkout master
4376* git commit -a -m "Image Gallery Detach HEAD"
4379* git reset --hard\n
我觉得唯一值得回答的是(因为这是唯一的问题)。
什么是
HEAD@{0}
,HEAD@{1}
,HEAD@{2}
,HEAD@{3}
是指?
HEAD@{n}
意思是 n
前的承诺 当前 HEAD
. 所以.., HEAD@{1}
意思是说,之前的一次承诺 HEAD
. 您也可以使用 @~n
作为上述符号的简写(即,使用 @~n
而不是 HEAD~n
以简化事情)。)
为什么564903c(imagegallery)图库分支在图形视图中被断开?
你需要说明你所提供的指令命令的预期,只有这样才会清楚。你提供的数据量很大,一下子要读完。没有人有时间去看这么大块的命令(不是指责你,而是陈述一个真实的案例)。你需要把事情说得具体一点(下面再讲)。
我给你一个建议,当你在这里发问题的时候,只需要让别人复制你repo的现状就可以了。这就意味着尽可能减少冗余指令的数量。例如,这一段。
4319 git checkout imagegallery
4323 git checkout master
4326 git pull
4333 git checkout imagegallery
4342 git checkout master
包含多余的指令 你可以把这部分只用一个 git checkout master
, git pull
随后 git checkout imagegallery
. 同时,也不需要使用 -u
在做 push
,特别是如果你做一个 git push origin <branch-name>
.
另外,你可能想看看 这个 Git 提供的关于 Git 终端用户面临的各种常见问题的 FAQ。也许会对你有一点帮助:)
衷心祝愿