当我在Git中更改文件时,如何只提交一些更改? 例如,我如何才能在文件中更改的30行中只提交15行?
我已经改变了一些文件的名字, Name.jpg第一个字母的大写,如Name.jpg到Name.jpg 。 Git不能识别这个变化,我不得不删除这些文件并重新上传。 在检查文件名的变化时,有没有办法让Git区分大小写? 我没有对文件本身做任何改变。
我来自Subversion的背景,当我有一个分支时,我知道我正在处理“这些工作文件指向这个分支”。 但是对于Git,我不确定当我在NetBeans或Notepad ++中编辑文件时,无论它是绑定到主或其他分支。 在bash中git没有问题,它告诉我我在做什么。
我卡在防火墙后面,所以必须使用HTTPS来访问我的GitHub存储库。 我在Windows XP上使用cygwin 1.7.7。 我已经尝试将远程设置为https://username@github.com/username/ExcelANT.git ,但是按提示input密码,但是一旦我input密码,就不会执行任何操作。 https://username:<password>github.com/username/ExcelANT.git和从头开始克隆空的回购,但每次它给我同样的错误 错误:SSL证书问题,请validationCA证书是否正确。 细节: 错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https://github.com/username/ExcelANT.git/info/refs时证书validation失败 打开GIT_CURL_VERBOSE=1给我 *关于连接()到github.com端口443(#0) *尝试207.97.227.239 … *成功设置证书validation位置: * CAfile:无 CApath:/ usr / ssl / certs * SSL证书问题,请validationCA证书是否正确。 细节: 错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书validation失败 *清除过期 *closures连接#0 *关于连接()到github.com端口443(#0) *尝试207.97.227.239 … *成功设置证书validation位置: * CAfile:无 CApath:/ usr / ssl / certs * SSL证书问题,请validationCA证书是否正确。 细节: 错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书validation失败 *清除过期 *closures连接#0 错误:SSL证书问题,请validationCA证书是否正确。 细节: 错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:访问https://github.com/username/ExcelANT.git/info/refs时证书validation失败 fatal: HTTP request failed 这是我的防火墙,cygwin或什么问题? […]
我不想重命名远程分支,如重命名主分支中所描述的本地和远程Git存储库 。 我如何重命名没有被推送到远程分支的本地分支?
我创build了一个本地分支,我想“推”上游。 关于如何跟踪新创build的远程分支,Stack Overflow存在类似的问题。 但是,我的工作stream程略有不同。 首先,我想创build一个本地分支,当我满意并且想分享我的分支时,我只会将其推向上游。 我该怎么做? (我的谷歌search似乎没有拿出任何东西)。 我怎么会告诉我的同事把它从上游的仓库里拿出来呢? 更新与Git 2.0有一个更简单的答案,我已经写在下面: https : //stackoverflow.com/a/27185855/109305
我一直在理解裸仓库时遇到困难。 我到处读过一个共享的回购是一个裸回购。 为什么它必须是一个裸回购? 难道这不是一个合作者克隆然后推/拉的正常回购吗?
我想存储未跟踪的文件,但是我一直传递错误的选项。 对我来说这听起来是对的: git stash save [-a|–all] 但是这实际上存储了被忽略的文件。 正确的是: git stash save [-u|–include-untracked] 当我运行git stash save -a并尝试git stash pop它,我得到所有被忽略的文件无数的错误: path/to/file1.ext already exists, no checkout path/to/file1.ext already exists, no checkout path/to/file1.ext already exists, no checkout … Could not restore untracked files from stash 所以命令失败。 我如何获得我的跟踪和未跟踪存储的变化? git reflog不存储隐藏命令。
基本上我试图别名: git files 9fa3 执行命令: git diff –name-status 9fa3^ 9fa3 但是git并没有将位置parameter passing给别名命令。 我努力了: [alias] files = "!git diff –name-status $1^ $1" files = "!git diff –name-status {1}^ {1}" …和其他一些人,但没有工作。 退化的情况是: $ git echo_reverse_these_params abcde edcba …我怎么做这个工作?
git clone的–depth 1选项: 创build一个历史截断为指定修订版本的浅表副本。 一个浅层的存储库有一些限制(你不能从中克隆或取出,也不能从中推入或者推入),但是如果你只关心一个历史悠久的大型项目的最近历史,并且想要发送修补程序作为补丁。 但是我已经成功完成了一个浅层克隆,提交了一些更改,并将这些更改推回(裸露克隆)源。 这对我有意义 – 我的意思是为什么不呢? 当克隆的HEAD在起源中是可识别的,并且我的承诺在此之上时,似乎没有理由。 但是手册另有说明。 我喜欢浅层克隆的想法 – 例如drupal核心:从7开始,我不需要知道drupal 4中发生了什么,但是我不想让自己陷入困境。 那么浅层克隆是否安全,开发提交,再次拉动来源于更新?