Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

2
将git config存储为存储库的一部分
我使用的过滤器等中记载到结账时裂伤文件在这里。现在的问题是过滤器定义仅存储在我的本地配置文件中: $ cat .git/config .... [filter "dater"] smudge = /home/.../expand_date clean = perl -pe \"s/\\\\\\$Date[^\\\\\\$]*\\\\\\$/\\\\\\$Date\\\\\\$/\" 如果我的同事希望从此Date扩展中受益,他们需要复制我的过滤器定义。如果我进行更改,则需要通知他们,等等。 那么我可以将此过滤器定义的一部分存储.git/config在存储库中并让git使用它吗?
147 git 

3
如何为git rebase选择合并策略?
git-rebase手册页中提到的内容-X<option>可以传递给git-merge。何时/究竟如何? 我想通过应用修补程序与变基递归策略和他们的选项(适用任何棒,而不是跳过整个冲突的提交)。我不想合并,我想使历史线性化。 我试过了: git rebase -Xtheirs 和 git rebase -s 'recursive -Xtheirs' 但是git -X在两种情况下都拒绝。 git rebase -Xtheirs在最新版本中有效,除了树冲突需要手动解决。解决这些冲突后,您需要运行git rebase -Xtheirs --continue(-X重复)。
147 git  git-rebase 

14
在Github中推送新代码的问题
我在Github上创建了一个新的存储库,该存储库现在只有Readme.md文件。 我有一个新创建的RoR项目,我想推送到该存储库。以下是我在终端机中给出的执行此命令的命令以及我遇到的错误。 git remote add origin https://github.com/aniruddhabarapatre/learn-rails.git 之后,我输入了用户名和密码 git push -u origin master 错误- To https://github.com/aniruddhabarapatre/learn-rails.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://github.com/aniruddhabarapatre/learn-rails.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually …
147 git  github  git-push 

9
将现有的git项目导入GitLab?
我有一个安装了Gitlab的帐户,在其中创建了存储库“ ffki-startseite” 现在,我想git://freifunk.in-kiel.de/ffki-startseite.git使用所有提交和分支将存储库克隆到该存储库中,这样我就可以在自己的范围内开始使用它了。 如何导入?
147 git  gitlab 

9
我可以将.git文件夹存储在要跟踪的文件之外吗?
我有一个不寻常的想法来使用git作为备份系统。假设我有一个目录./backup/myfiles,我想使用git对其进行备份。为了保持干净,我不想在myfiles文件夹中有一个.git目录,所以我想我可以创建./backup/git_repos/myfiles。通过查看git文档,我尝试这样做: $ cd backup/myfiles $ mkdir ../git_repos/myfiles $ git --git-dir=../git_repos/myfiles init Initialized empty Git repository in backup/git_repos/myfiles/ $ git --git-dir="../git_repos/myfiles/" add foo fatal: pathspec 'foo' did not match any files 您会看到我到达那里的错误消息。我究竟做错了什么?
147 git 

4
我可以让git告诉我一个用户修改过的所有文件吗?
我想git给我一个清单,列出所有提交中一个用户修改的所有文件。 我的特殊用例是我参与了ruby on rails项目的i18n,我们想知道已经完成了哪些文件,还需要完成哪些文件。有问题的用户仅在i18n上完成过工作,而在其余代码库上没有完成过工作。因此信息应该全部在git中,但是我不确定如何将其发布。
147 git 


8
Windows git“警告:LF将被CRLF取代”,该警告尾是否向后?
环境: Windows 7的 msysgit 当我git commit说: warning: LF will be replaced by CRLF. 这个警告尾巴向后吗? 我在Windows中编辑文件,此行的结尾是CRLF,如图所示: git将其更改LF为提交回购。 所以我认为正确的警告是: warning: CRLF will be replaced by LF.
147 git 

5
在Vim中输入Git提交消息的问题
操作系统:Windows 我写 $ git commit 然后 “#请输入提交消息” 我写一些文字,例如 “添加了表单验证” 按Enter而不提交。然后我按Shift + Enter,Ctrl + Enter,Alt + Enter-仍未提交。 我认为这是愚蠢的麻烦,但是我该怎么办?
146 git  commit  message 

5
.gitignore排除规则实际上如何工作?
我正在尝试解决大型目录结构上的gitignore问题,但是为了简化我的问题,我将其简化为以下内容。 我在全新的git存储库中具有以下两个文件(foo,bar)的目录结构(到目前为止尚未提交): a/b/c/foo a/b/c/bar 显然,“ git status -u”显示: # Untracked files: ... # a/b/c/bar # a/b/c/foo 我想做的是创建一个.gitignore文件,该文件忽略a / b / c内部的所有内容,但不忽略文件'foo'。 如果我这样创建一个.gitignore: c/ 然后,'git status -u'显示foo和bar被忽略: # Untracked files: ... # .gitignore 这是我所期望的。 现在,如果我为foo添加排除规则,则: c/ !foo 根据gitignore的联机帮助页,我希望它能起作用。但这不是-它仍然忽略foo: # Untracked files: ... # .gitignore 这也不起作用: c/ !a/b/c/foo 这也不是: c/* !foo 给出: …
146 git  gitignore 

7
列出和删除没有分支的Git提交(悬挂吗?)
我有一个Git存储库,里面有很多没有特定分支的提交,我可以git show,但是当我尝试列出包含它们的分支时,它什么也不报告。 我以为这是悬而未决的提交/树问题(由于-D分支),所以我修剪了存储库,但此后我仍然看到相同的行为: $ git fetch origin $ git fsck --unreachable $ git fsck 没有输出,没有悬空(对吗?)。但是提交存在 $ git show 793db7f272ba4bbdd1e32f14410a52a412667042 commit 793db7f272ba4bbdd1e32f14410a52a412667042 Author: ... 而且它不能通过任何分支到达 $ git branch --contains 793db7f272ba4bbdd1e32f14410a52a412667042 没有输出。 提交的确切状态是什么?如何列出处于相似状态的所有提交?我该如何删除那些提交?
146 git  branch  git-dangling 


6
当我只压缩提交时,为什么git-rebase给我合并冲突?
我们有一个包含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 …

5
Git合并两个本地分支
我有分支Master,分支A和分支B。现在我在分支A中工作,我需要将分支A与分支B合并,然后在分支A中继续工作。所有文件都放在分支A和B中。 实现它的快速方法是什么?
146 git  merge 

3
为什么我必须“ git push --set-upstream origin <branch>”?
我创建了一个本地分支来测试Solaris和Sun Studio。然后,我将分支推到上游。提交更改并尝试推送更改后: $ git commit blake2.cpp -m "Add workaround for missing _mm_set_epi64x" [solaris 7ad22ff] Add workaround for missing _mm_set_epi64x 1 file changed, 5 insertions(+) $ git push fatal: The current branch solaris has no upstream branch. To push the current branch and set the remote as upstream, use git push …
146 git  branch 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.