什么是在git checkout ? 我知道一旦你checkout到一个特定的分支, HEAD指向那个分支。 但是这到底意味着什么呢? 这是否意味着我可以在那个分支上工作? 如果是的话,那么,如果没有检查一个分支,我就无法工作呢? 另外, remote checkout是什么意思? 它有什么用处?
当我签出远程git标签使用命令是这样的: git checkout -b local_branch_name origin/remote_tag_name 我有这样的错误: error: pathspec `origin/remote_tag_name` did not match any file(s) known to git. 当我使用git tag命令时,我可以findremote_tag_name。
我们有一个超过400个提交的Git仓库,其中的第一个是很多的反复试验。 我们希望通过将许多压缩成单个提交来清理这些提交。 当然,git-rebase似乎是要走的路。 我的问题是,它最终与合并冲突,这些冲突并不容易解决。 我不明白为什么应该有任何冲突,因为我只是压制承诺(不删除或重新排列)。 很可能,这表明我不完全理解git-rebase如何做它的南瓜。 以下是我正在使用的脚本的修改版本: repo_squash.sh(这是实际运行的脚本): rm -rf repo_squash git clone repo repo_squash cd repo_squash/ GIT_EDITOR=../repo_squash_helper.sh git rebase –strategy theirs -i bd6a09a484b8230d0810e6689cf08a24f26f287a repo_squash_helper.sh(此脚本仅用于repo_squash.sh): if grep -q "pick " $1 then # cp $1 ../repo_squash_history.txt # emacs -nw $1 sed -f ../repo_squash_list.txt < $1 > $1.tmp mv $1.tmp $1 else if grep -q "initial […]
我无法找出哪个标签目前被检出。 当我做: git checkout tag1 git branch 我似乎无法找出我在哪个标签。 它只logging: * (no branch) master 是否有可能找出哪些标签被检出? 在上面的例子中,这将是tag1 。
在远程服务器,我有一个post-receive钩子,以便对我的仓库进行git签出: #!/bin/sh GIT_WORK_TREE=/var/www/<website> git checkout -f 但是当我从本地机器推到服务器的git仓库时,我得到以下错误信息: remote: error: unable to unlink old '<file>' (Permission denied) 这会出现很多次,几乎每个文件都有一个错误信息。 不过,我有一个README.txt文件,我可以使用git进行更改,下面是它的权限: -rw-r–r– 1 <serverusername> <serverusername> 2939 Aug 2 10:58 README.txt 但其他具有完全相同的所有者和相同的权限的文件,给我这个错误。 在另一个网站的另一个本地存储库中,我有我的本地计算机用户名作为所有者的文件,当我推送到远程服务器时,它尊重文件的远程服务器所有者,并像魅力一样工作。 显然这似乎是一个权限相关的错误,但我找不到解决方法,有什么build议吗?
我克隆了一个git仓库,然后签出一个标签: # git checkout 2.4.33 -b my_branch 这是好的,但是当我尝试在我的分支中运行git pull时,git吐出这个错误: 没有当前分支的跟踪信息。 请指定您想要合并的分支。 有关详细信息,请参阅git-pull(1) git pull <remote> <branch> 如果你想设置这个分支的跟踪信息,你可以这样做: git branch –set-upstream new origin/<branch> 我想git pull只更新主分支,离开我当前的分支(无论如何这是一个标签)。 是这样的可能吗? 我需要这个的原因是我有一个自动脚本总是git拉仓库,当然因为上面的错误失败..
我用git checkout -b来创build一个新的分支。 我认为, git branch做同样的事情。 这两个命令如何不同呢?
我有时使用checkout -b选项来创build一个新的分支,同时检查它并设置一个命令的跟踪。 在新的环境中,我得到这个错误: $ git checkout -b test –track origin/master fatal: Cannot update paths and switch to branch 'test' at the same time. Did you intend to checkout 'origin/master' which can not be resolved as commit? 为什么Git不喜欢它? 这用于使用相同的回购。
我重置我的本地主人到这个命令的提交: git reset –hard e3f1e37 当我input$ git status命令时,terminal说: # On branch master # Your branch is behind 'origin/master' by 7 commits, and can be fast-forwarded. # (use "git pull" to update your local branch) # nothing to commit, working directory clean 因为我想重置origin / header,所以我签出origin / master: $ git checkout origin/master Note: checking out 'origin/master'. You […]
我正在尝试学习如何将文件和项目恢复或回滚到之前的状态,而不理解git revert , checkout和reset之间的区别。 为什么有三个不同的命令用于看似相同的目的,什么时候应该有人select一个呢?