我正在尝试遵循这个指示。 我有一个本地的git仓库,当我做一个git push时,我需要把仓库推到我的EC2实例。 但是,在上面的教程中,当我做一个git push origin master ,我得到Permission denied (publickey)错误,因为我没有指定标识文件。 说,我像这样login到EC2: ssh -i my_key.pem username@11.111.11.11 那么,我可以在这里做类似的东西: git -i my_key.pem push origin master或在.git/config设置身份文件 那么,我该如何设置? 更新: git config -l输出 user.name=my name user.email=my_email_addreess@gmail.com github.user=userid core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true core.ignorecase=true remote.origin.url=ec2_id@my_e2_ip_address:express_app remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* 更新(来自@ Jon的评论 ): 如果你的密钥是奇数path,只需运行ssh-add /private/key/path 。 这对我有效。
我想着色git-status输出,所以: untracked files = magenta new files = green modified files = blue deleted files = red 相反,我看到绿色和未分档文件中的分阶段文件是蓝色的: 我的.gitconfig是基于一些search设置以下内容: [color] status = auto [color "status"] added = green changed = blue untracked = magenta deleted = red
在一个XCode项目中,我已经修改了xcodeproject / project.pbxproj文件,但是对于我来说没有用的信息。 我应该忽略这个文件和xcodeproject / projectxworkspace / username.xcuserdata / UserInterfaceState.xcuserstate文件?
我认为它允许从一个分支移动到另一个分支,但这是樱桃采摘的目的,如果你没有做出你的改变,也许你不应该把它们移动? 我有时在错误的分支上应用了错误的藏匿处,这让我不知道这个问题。
有什么区别: git add . git commit -a 我应该做两个,还是多余的?
我想知道是否有办法设置一个标志默认为git命令。 具体来说,我想设置–abbrev-commit标志,以便在执行git log ,我想要执行git log –abbrev-commit 。 不像问题“ 是否有任何方式来设置一个git命令默认标志? ”,显然没有configuration标志添加–abbrev-commit到git日志。 此外,git手册指出我不能创build一个别名: “为了避免混淆和脚本使用的麻烦,隐藏现有的git命令的别名被忽略” 我的第三个select是在我的.gitconfig文件中创build一个新的别名,如glog=log –abbrev-commit 。 但我宁愿不用新的命令创造我自己的DSL。 是否有另一种方法来实现它,以便默认设置abbrev-commit标志?
我遇到了git的问题。 基本上我设置为假的core.ignorecase因为我想改变一些文件夹的名称的情况下(因为我在OSX下与不区分大小写的文件系统,更改不另外显示)。 当我提取数据时,我注意到现在每个重命名的文件夹都会在存储库上出现两次,包括旧名称和新名称。 我不知道该怎么做删除旧的文件夹,因为他们没有出现在本地(我试图设置core.ignorecase再次为真,但它不是帮助)。
好。 所以我觉得我有这个舔…但现在…. 我有一个项目,其中包括一个来自GitHub的小型图书馆作为子模块。 在超级项目的原始版本中,子模块按预期工作。 但是,我只是克隆了超级项目,做了我想我应该做的:“git submodule init”,得到子模块的目录出现,但是它是空的。 如果我现在试着去做 git submodule update 我明白了 fatal: Needed a single revision Unable to find current revision in submodule path 'external_libraries/BEACHhtml' 如果我尝试 git submodule foreach git pull 我明白了 Entering 'external_libraries/BEACHhtml' fatal: Where do you want to fetch from today? Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status. 在我的.git / config中,我有这个: [submodule […]
我有一个Gitlab安装帐户,我创build了存储库“ffki-startseite” 现在我想要将存储库git://freifunk.in-kiel.de/ffki-startseite.git克隆到所有提交和分支的存储库中,所以我可以在自己的范围内开始工作。 我怎样才能导入它?
Rsync包含一个漂亮的选项–cvs-exclude来“以与CVS相同的方式忽略文件”,但CVS已经过时了多年。 有没有办法让它排除现代版本控制系统(Git,Mercurial,Subversion)会忽略的文件? 例如,我有很多从GitHub签出的Maven项目。 通常他们包括一个.gitignore ,至less列出target ,默认的Maven构build目录(可能出现在顶层或子模块中)。 由于这些目录的内容完全是一次性的,而且可以远远大于源代码,所以在使用rsync进行备份时,我想排除它们。 当然,我可以明确地说–exclude=target/但是这会意外地压制那些恰好被命名为target并且不应该被忽略的不相关的目录。 我可以为我的磁盘上的任何.gitignore , .hgignore或svn:ignore属性提供的所有文件名和模式的绝对path的完整列表,但这将是一个巨大的列表,必须由某种的脚本。 由于rsync没有内置的CVS以外的VCS检出支持,有没有什么好的方法可以把它们的忽略模式提供给它? 或者某种callback系统,用户脚本可以被询问是否应该包含给定的文件/目录? 更新 :– –filter=':- .gitignore'build议的–filter=':- .gitignore'似乎也适用于Git –filter=:C对于CVS至less在我已经find的例子上做了,尽pipe目前还不清楚语法是完全匹配的。 –filter=':- .hgignore'对Mercurial来说不是很好; 例如,一个包含像^target$ (Git /target/的Mercurial等价物)这样的行的.hgignore不能被rsync识别为正则expression式。 而且什么似乎都没有为Subversion工作,你将不得不parsing.svn/dir-prop-base为1.6或更早版本的工作副本,并为1.7或更高版本的工作副本惊慌失措。