我试图进行重基,将提交合并成一个单独的提交,但我最终编写了更多的提交,现在这一切都搞砸了。
这是树:在运行git status时,我得到
On branch master
Your branch is up to date with 'origin/master'.
Last commands done (5 commands done):
pick 49147e5 squash
pick 2c48387 Commit
(see more in file .git/rebase-merge/done)
Next commands to do (13 rema
提交的D&E被误签到XXX分公司,而不是YYY。我们试图不使用git reset来解决这个问题。
所以我们有:
XXX: A -> B -> C -> D -> E
YYY: A -> B -> C
我们在XXX分公司重新承诺C
git checkout XXX
git revert --no-commit C..HEAD
git commit
git push
这会让你
XXX: A -> B -> C -> D -> E -> F (F是还原)
YYY: A -> B -> C
问题
我听不懂我终端上的这条信息对我意味着什么。
我收到这条消息的时间是在输入git status时。
On branch develop
Revert currently in progress.
(run "git revert --continue" to continue)
(use "git revert --skip" to skip this patch)
(use "git revert --abort" to cancel the revert operation)
nothing to commit, worki
我们需要回到特定的承诺中去。一些偶然的改变是为了主人。试图把它挖得太深,所以主人的状态很差。我们现在希望师父回到66ada4cc61d62afc。
根据
$ git reset --hard 66ada4cc61d62afc
HEAD is now at 66ada4c Updated documentation
然后,试着去做:
$ git add *.h *.cpp
$ git commit -m "Go back to Commit 66ada4cc61d62afc"
On branch master
Your branch is behind 'origin/m
我有一个类似A -> B -> C -> D -> E的修订版。我尝试回滚到C,并将其作为一个新的修订版提交给F,但这似乎不是正确的方法:我先做git checkout C,然后做一些更改,然后是git commit。但是,当我git push origin HEAD时,它抱怨:
error: unable to push to unqualified destination: HEAD The destination refspec neither matches an existing ref on the remote nor begins with refs/,
我为TypeScript项目提供了一个脚本,它确保在将代码提交到远程之前编译:
simple_git_push_typescript(){
(
set -e
top_level="$(git rev-parse --show-toplevel)"
if [[ "$cm_ignore_tsc" != 'yes' ]]; then
if [[ -f "$top_level/tsconfig.json" ]]; then
(cd "$top_level"
我正在写一个后置钩子,看起来是这样的:
#!/bin/sh
# this file is in root.git/hooks
# deprecated
# git --work-tree=~/public_html --git-dir=~/root.git checkout -f
cd /home/username/www
git add -A .
git commit -m "automated commit on push"
# cd /home/username/root.git/hooks
#
我意外地在GIT中合并了一个拉取请求(将被称为PR)。现在,我想要撤消合并。 7b10185a28e09a74e395099435304852f0bb1a1d is the previous merge commit
5d8f83671ce03b1a3d181ec13e836833afa7b77c is the accidental merge commit 我检查了我合并了PR的分支机构。 git checkout dev
git pull
git reset --hard 7b10185a28e09a74e395099435304852f0bb1a1d
git checkout -b m
当我尝试使用简单的git revert <SHA_of_my_commit>返回特定的提交时,我会收到以下错误消息。
Auto-merging file1.txt
CONFLICT (content): Merge conflict in file1.txt
error: could not revert 96882d9... second commit t2
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or '
我一直在错误地使用git我相信,我一直在测试和提交然后当我犯了错误时,我已经检查了以前的版本并重复了这个过程,测试和提交,这一直工作得很好,直到我尝试将我的项目推向Github。
例如: commit #10我犯了一个错误,所以我签出了commit #6,现在我在commit #20,我想将我的存储库推送到github
git状态给我
HEAD detached from 0ade9cbf
nothing to commit, working tree clean
我断言0ade9cbf是我应该使用的主站。
git log --oneline
d360cf5f (HEAD) App still
我创建了一个git存储库并将内容提交给它。
git clone git://newrepo.com/project.git # Empty repository
tar -xzvf project-0.6.tar.gz -C project # Fill it with tar contents
cd project
git commit -a
... Do work
... Commit
... Push
但是后来发现了一个用tar.gz早期版本制作的具有git历史的相同项目的恢复版本。
如何将旧项目的历史导入到新项目中?
我想我需要这样做:
git clone git://new
我这样做了,在“伪GIT”中简化了
In branch master, commit A
In branch master, commit B
Push to server
-- We see that there's a bug
In branch master, revert commit B, A
-- Now, to test what happened:
new branch TEST from old commit A
-- Looking at it, we find out that the issue was in somebody else's API,
-
此脚本的目的是将git存储库的当前工作目录快照到另一个分支。之后,它切换回原来的分支,并恢复原始状态,包括工作目录和阶段性更改。
#!/bin/sh
function git_snapshot() {
# Usage: SNAPSHOT=$(git_snapshot "")
set -e
# Save the current state.
BEFORE=$(git rev-parse --abbrev-ref HEAD)
if [[ "$BEFORE" == 'HEAD' ]]; then
BEFORE=$(gi
我不知道发生了什么。我试着提交,当我去推送它时,它说我是最新的,什么也没有发生。
(py35) $ git status
On branch jt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: rt/models.py
modified
我必须检查我的网站在服务器上的前一个状态的行为。我的想法是转到本地版本中的前一个提交,推送,并查看该站点在前一个版本中是如何在服务器中工作的;然后我想返回到本地的实际状态,并更新服务器。
git checkout [commit_ref] // Go to previous commit in local
git push // Send to server and check the website
git checkout [branch_name] // Return to last commit in local
git push // Update the server
是这样做的吗
我做了4次错误的承诺,并想回到原来的状态。于是尝试了这样的方法()
# Resets index to former commit; replace '56e05fced' with your commit code
git reset 56e05fced
# Moves pointer back to previous HEAD
git reset --soft HEAD@{1}
git commit -m "Revert to 56e05fced"
# Updates working copy to reflect the new commi
我最近向我的Github远程分支提交了两次提交。Commit 1是第一个,commit 2是第二个。Commit 1包含了我工作过的一些特性。Commit 2是一个错误,我在没有合并commit 1的情况下意外地从master中拉出了这个错误。在commit 2中,我有一些奇怪的冲突。
我将本地存储库恢复为commit 1,但现在,我想对远程分支进行新的推送,以便可以将远程分支设置为commit 1,并与主分支合并。现在,如果我按下,我会得到tip of your current branch is behind its remote counterpart. Integrate the re
#lets get the latest
git pull
#lets switch to branch and do some work
git checkout -b makeSomeBugs
#do the work commit
git add .
git commit -am "introducing some bugs"
#push this for my lazy remote friend to see
git push origin makeSomeBugs
#uh .. changes on master
git pull origin master
我在我的代码上做了一些错误的事情,我搜索了一些命令以恢复到以前的版本,但情况变得更糟。我不知道该怎么解决这个问题。好吓人~
我尝试了许多命令,但不知道我使用git revert恢复到正常工作状态时使用了什么命令。在这个阶段,我的代码正在工作,但是我如何才能返回到主分支?
Now the terminal show:
zswenjin:~/workspace/project_1 ((f9f01be...)|REVERTING) $
That is git log:
commit f9f01bee8249770135e92dc6bc117c5033d3e349 (HEAD)