javascript

java

python

c#

node.js

android

reactjs

c++

php

jquery

html

css

git

ruby-on-rails

.net

ios

sql

c

string

ruby

git-自动化的django接收服务器上的钩子:用“ yes”响应collectstatic

我正在使用Github接收后挂钩运行bash文件,该文件同时提取我的仓库。

#!/bin/sh
cd ~/public_html/repo_static
env -i /usr/bin/git pull origin master
cd ~/django-code/repo_django
env -i /usr/bin/git pull origin master

我也想在Django存储库上进行collectstatic。 如何自动对“是”做出回应?

我无法使用Fabric,因为不幸的是,该团队暂时选择使用Python 2.4。 没有Fabric,有没有办法自动使静电消除?

trans by 2019-10-16T02:17:00Z

递归-git add -A不会在目录中添加所有修改的文件

无论如何,我都想添加所有文件:是否删除,创建,修改,取消跟踪等? 我只是不想每次都git添加所有文件。 我尝试了git add *,但未在文件夹内添加修改后的文件。

这是我的项目中最初的git add *

Rakib-MacBook-Pro:my-xcode-practice rakib$ git status
# On branch master
# 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)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   BankAccount (modified content, untracked content)
#   modified:   BuckysButtons (modified content, untracked content)
#   modified:   multiview (modified content, untracked content)
#   modified:   rotator (modified content, untracked content)
#   modified:   segmentedControls (modified content, untracked content)
#
no changes added to commit (use "git add" and/or "git commit -a")

然后我放了git add *

Rakib-MacBook-Pro:my-xcode-practice rakib$ git add -A

然后是执行git add *之后的新状态:

Rakib-MacBook-Pro:my-xcode-practice rakib$ git status
# On branch master
# 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)
#   (commit or discard the untracked or modified content in submodules)
#
#   modified:   BankAccount (modified content, untracked content)
#   modified:   BuckysButtons (modified content, untracked content)
#   modified:   multiview (modified content, untracked content)
#   modified:   rotator (modified content, untracked content)
#   modified:   segmentedControls (modified content, untracked content)
#
no changes added to commit (use "git add" and/or "git commit -a")

您可以看到git add *中没有变化。我该如何解决?

我也尝试了git add *-它没有帮助

我也尝试了git add *-它没有帮助

trans by 2019-10-16T00:09:00Z

git push失败:`拒绝更新检出的分支:refs / heads / master`

我想在git中存储对JBoss配置的本地修改。 为此,我建立了以下结构:

lrwxrwxrwx  1 jboss jboss        19 Jan 24 11:53 current -> jboss-as-7.1.0.CR1b
drwxr-xr-x 11 jboss jboss      4096 Jan 24 12:13 jboss-as-7.1.0.CR1b
-rw-r--r--  1 jboss jboss 108211143 Jan 23 16:02 jboss-as-7.1.0.CR1b.tar.gz
drwxr-xr-x  6 jboss jboss      4096 Jan 24 11:36 local

current是git存储库,应为“ origin”。 我的想法是,一旦更新可用,我希望能够轻松更新我的JBoss发行版。 我想在git中存储对分布式JBoss包的所有本地修改。

所以,目前我这样做:

jboss@tpl0:~/jboss-as-7.1.0.CR1b$ git init
Initialized empty Git repository in /opt/jboss/jboss-as-7.1.0.CR1b/.git/
jboss@tpl0:~/jboss-as-7.1.0.CR1b$ git remote add origin ../local/   
jboss@tpl0:~/jboss-as-7.1.0.CR1b$ git pull origin master 
From ../local
 * branch            master     -> FETCH_HEAD

到目前为止,我所有的本地修改都在我想要的地方。

但是,一旦我进行了本地修改,并想将它们套回到current存储库,就会收到错误消息:

jboss@tpl0:~/jboss-as-7.1.0.CR1b$ vim standalone/configuration/standalone.xml   
jboss@tpl0:~/jboss-as-7.1.0.CR1b$ git commit -a -m "renamed database to project2_core,   to distinguish from other projects"
[master 3e54f34] renamed database to project2_core, to distinguish from other projects
Committer: jboss <jboss@tpl0.(none)>
 1 files changed, 1 insertions(+), 1 deletions(-)

jboss@tpl0:~/jboss-as-7.1.0.CR1b$ git push origin master 
Counting objects: 9, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 447 bytes, done.
Total 5 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable t
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing int
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in som
remote: error: other way.
remote: error: 
remote: error: To squelch this message and still keep the default behaviour, se
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To ../local/
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to '../local/'

我该怎么办? 任何帮助是极大的赞赏!

编辑

这是我做的,解决了这个问题:

cd ~/current
git init
vim .gitignore                   # set up a basic .gitignore file
git add .gitignore
git commit -a -m "initial commit"
cd ~/local
git clone ~/current
git branch -m master current     # rename master branch to 'current'
git branch repo
git checkout repo

现在,目录~/local中的分支current始终是最新的,但它没有被删除,因此我可以将其插入。

trans by 2019-10-15T23:05:35Z

git-如何为.gitignore添加内容,以使匹配不递归?

如何为.gitignore添加内容,以使匹配不递归?

例如,我希望忽略当前目录中的目录.gitignore和文件otherdir/foo/,但子目录中不存在任何目录。

我已经为我的.gitignore文件尝试过此操作:

foo/
bar.txt

但是不幸的是git递归地应用了它,因此.gitignoreotherdir/foo/也被忽略了,这不是我想要的。

(git中是否有一个命令可以向我显示所有被忽略的文件,并引用负责该文件被忽略的.gitignore文件?这对于调试很有用。)

trans by 2019-10-15T22:03:22Z

Git中是否有“ git pull --dry-run”选项?

是否存在诸如git pull之类的东西,以查看在它们弄乱我的工作树之前如何将它们合并?

现在我正在做:

git fetch origin && git merge --no-commit --no-ff

我没有在手册页中看到与“ git-pull”相关的任何内容。

为了澄清起见,我只需要在Ant脚本中进行部署即可查看在执行git pull时是否存在冲突,然后退出退出构建,使部署失败,并使该目录树与git pull之前的目录树相同。

trans by 2019-10-15T14:51:43Z

禁用git EOL转换

我试图让git不更改任何操作的任何行尾。 不幸的是,这似乎无关紧要。 我将其简化为以下测试用例,该测试用例具有许多我可以发现的禁用此行为的机制。


  • 从两台机器开始(Windows计算机= A,Linux计算机= B)
  • 在两台机器上:document.txt
  • 在两台机器上:document.txt(以防万一)

  • 在A上新建存储库。从一个空文件夹中:
    • document.txt(然后取消隐藏创建的new file目录)
    • 在存储库中制作一个新文件document.txt
    • 用单行在存储库中创建新文件document.txtnew file
    • document.txt,然后new file解决,例如 这个。
    • document.txt
    • 添加遥控器
  • 在包含CRLF的存储库中制作一个新文件document.txt
  • 提交:document.txt,然后new file
  • 请注意,A的document.txt仍然包含CRLF(将其删除并重新设置为new file将返回仍带有CRLF的版本)

  • SCP将整个目录保存到计算机B
  • 添加一个包含CRLF的新文件document.txt
  • 提交:document.txt,然后new file
  • 请注意,B的document.txt和B的new file都仍包含CRLF

  • 将B的主人拉到A:document.txt
  • A的document.txt已更改为LF。 添加的文件new file也包含LF。

如果B是Windows计算机,则不会发生此问题。

trans by 2019-10-15T10:17:08Z

git:时区和时间戳格式

从git我可以得到时间戳:

"2011-10-04 12:58:36 -0600"

但是有什么方法可以显示为:

"2011-10-04 06:58:36"

因此,我要做的就是摆脱-0600时区偏移。 我怎样才能做到这一点? 谢谢。

trans by 2019-10-15T08:59:44Z

bash-git中的ANSI颜色未正确显示

最近,我切换到SLES11。我发现git命令有问题。 无法显示所有ANSI颜色。 而是显示如下所示的ANSI代码:

* ESC [33m * commit 0a02124a0fd85c1f0094bcdf15bac1645e3c8630ESC [m

注意:“ ls”中的ansi颜色效果很好。

trans by 2019-10-15T07:23:15Z

git-如何从不同分支中的特定提交创建分支

我已经在master分支中进行了几次提交,然后将它们合并到dev分支中。

我想从dev分支中的特定提交创建分支,该分支首先在master分支中提交。

我使用了以下命令:

git checkout dev
git branch  <branch name> <commit id>

但是,这是从master分支创建分支,而不是我期望的dev分支。 提交ID在master分支和dev分支中相同。那么,如何区分不同分支中的相同提交ID?

PS:我在github上做了一个例子[https://github.com/RolandXu/test_for_branch]

我使用了以下命令:

git checkout dev
git branch test 07aeec983bfc17c25f0b0a7c1d47da8e35df7af8

我期望测试分支包含aa.txt bb.txt cc.txt。 但是,测试分支仅包含aa.txt和cc.txt。 它最有可能从master分支创建分支。

trans by 2019-10-15T05:25:07Z

java-访问heroku上的文件或文件夹

当我在Heroku服务器上部署应用程序时,服务器会自动生成一个应用程序,并且在我的资源中找到了git url。 例如:git@heroku.com:myapp-ss-1338.git.如何通过Web浏览器访问该URL来查看源代码或文件夹?

trans by 2019-10-15T05:18:51Z

Git push拒绝“非快速前进”

我是--force的新手,但是目前在团队环境中使用它来管理我们的代码。 我遇到了一些变基问题,并使用

git checkout --ours filename.txt
git add filename.txt
git rebase --continue

现在,我希望推送更改,因此运行以下命令

$ git push origin feature/my_feature_branch

给我以下错误:

To ssh://git@coderepo.com:7999/repo/myproject.git
 ! [rejected]        feature/my_feature_branch -> feature/my_feature_branch (non-fast-forward)
error: failed to push some refs to 'ssh://git@coderepo.com:7999/repo/myproject.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

我该怎么办才能消除错误?

附言 :我尽量避免使用--force选项。

trans by 2019-10-15T02:45:04Z

git pull后如何查看代码更改?

在执行git pull之后,我想检查所有代码更改。目前,它只是向我显示哪些文件发生了更改。 如何查看更改的代码?

trans by 2019-10-15T00:30:59Z

git remote add和git clone之间的区别

clone命令有什么作用? svn中有与之等效的东西吗?

之间有什么区别

git remote add test git://github.com/user/test.git

git clone git://github.com/user/test.git

创建的存储库的名称重要吗?

trans by 2019-10-14T20:13:41Z

git-将更改从分支b应用于a,而不合并或添加提交

我的情况是,我有一个分支,对构建过程进行了重大改进(分支A),而在另一个分支中,我正在开发一个不相关的功能(分支B)。 因此,现在当我在分支B处破解时,我想提取在分支A中编写的内容,因为我想要更快,更轻松的构建。 但是,我不想“污染”我的分支B,只需将分支A的更改添加到未暂存的更改即可。

我尝试过的方法(站在分支上时):

git merge --no-commit branchA

不起作用,因为它会使您陷入合并。 如果没有,那将是完美的。

git checkout branchA -- .

不起作用,因为它在branch..branch之间应用更改,而不在master..branchA之间应用更改。

还要别的吗?

编辑:是的,对分支A的更改已提交。 在此示例中,只有一个分支具有构建改进,但是在功能分支上我可能要应用的N个分支中有构建改进。

trans by 2019-10-14T17:18:43Z

git status返回致命错误:不是git存储库,但是.git存在并且HEAD具有适当的权限

当我在仓库上运行git status时,我得到/new dir/.git

我已经检查过并存在.git并包含具有适当权限的HEAD。 我可以很好地运行其他各种命令。 如果我运行git gui,它将很好地打开,并将列出几个已更改的文件,但缺少很多文件。

我猜测HEAD中可能存在某种损坏,但不确定。 知道如何解决此问题而又不清除整个仓库吗?

更新:我意识到我已经更改了回购目录的名称。 错误中引用的目录是该目录的旧名称。 因此,我当前的回购代码为/new dir/.git,但错误提示为Not a git repository: /old dir/.git/modules/docs。那么git感到困惑了吗?

trans by 2019-10-14T17:05:00Z

Windows-显示Msysgit“(END)”,我该如何进行?

在Windows下使用mysysgit时,在Git Bash中运行git log后,我不知道如何重新获得对控制台窗口的控制。 这似乎很简单,但是我找不到组合键或命令,所以我发现自己必须关闭控制台窗口并重新启动新的Git Bash实例才能与git交互。

我需要退出日志查看器的组合键和/或命令是什么?

trans by 2019-10-14T15:53:29Z

IntelliJ和Git分支名称

我最近从Eclipse移到了IntelliJ。 我是一个键盘快捷键迷,这是一个挑战,但这不是我想要的。

我想念包/项目视图中显示的git分支名称。

有谁知道配置IntelliJ的方法来显示项目所在的git分支,所以我不必一直切换回终端并进行检查。

谢谢。

trans by 2019-10-14T13:54:22Z

git-列出所有没有rem的本地分支

问题:我想要一种删除我所有没有遥控器的本地分支的方法。 将分支的名称传递到git branch -D {branch_name}很容易,但是首先如何获得该列表?

例如:

我创建一个没有远程的新分支:

$ git co -b no_upstream

我列出了我的所有分支,只有1个带有远程

$ git branch -a
master
* no_upstream
remotes/origin/HEAD -> origin/master
remotes/origin/master

我可以运行什么命令来获取git-delete-unbranched作为答案?

我可以运行git-delete-unbranched,这将显示它没有远程:

$ git rev-parse --abbrev-ref --symbolic-full-name @{u}
error: No upstream configured for branch 'no_upstream'
error: No upstream configured for branch 'no_upstream'
fatal: ambiguous argument '@{u}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

但是由于这是一个错误,它不会让我使用它或将其通过管道传递给其他命令。 我打算将其用作别名为git-delete-unbranched的shell脚本,或者使用git-branch-delete-orphans这样的超级简单宝石

任何帮助,将不胜感激! 谢谢

trans by 2019-10-14T12:46:00Z

bash-在git show / git di中将tabwidth设置为4

在工作中,我们有几位开发人员,没有代码样式指南,有些开发人员使用制表符缩进,另一些开发人员使用4个空格(幸运的是,缩进的人都没有使用4个空格)。 通常,这不是(大)问题,因为在我们的编辑器中,我们设置了git diff,而所有缩进似乎都是正确的。

但是出现在git diffgit show中:

diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+       echo "line with 1 tab\n";
+    echo "line with 4 spaces\n";
+}

问题是git diffgit show,其中每个选项卡显示为8个空格(嗯,实际上显示为选项卡,而shell(在我的情况下为bash)将选项卡显示为8个空格。我想必须有一些bash配置 更改此设置,但我想知道git是否可以选择在diff/show中将制表符输出为4个空格,因为某些开发人员使用zsh而不是bash

有任何想法吗?

trans by 2019-10-14T02:41:14Z

版本控制-挂在“ POST git-receive-pack(分块)”

老实说,我对git的内部了解甚少。

我已经上演并提交了一个40mb的目录,但是当我推送时...

$ git push --verbose --progress
Pushing to https://acron0@bitbucket.org/acron0/project.git
Password for 'https://acron0@bitbucket.org':
POST git-receive-pack (chunked)

像这样二十分钟了 我以为它挂着了,但是...我能做些什么找出原因吗?

trans by 2019-10-13T21:54:15Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共96页