是否可以在git切换到另一个分支而不检查所有文件?切换分支后,我需要删除所有文件,重新生成它们,提交并切换回来.因此,检出文件只是浪费时间(并且有大约14000个文件 - 这是一个很长的操作).
为了使一切清楚:
我需要所有这些来上传文档到github.
我有gh-pages分支的回购.当我在本地重建文档时,我将其复制到repo目录,提交并推送到github.但我并不高兴,因为我在本地有两份文件.我决定创建空分支并在提交后切换为空并删除文件.但转回来是一个漫长的操作 - 所以我问了这个问题.
我知道我可以离开gh-pages分支并删除文件,但我不喜欢脏工作树)
什么是checkoutgit?
我知道一旦你做checkout了一个特定的分支,HEAD那个分支的点.但这究竟意味着什么?这是否意味着我可以在那个分支上工作?如果是的话,那么,如果不检查分支机构,我就无法继续工作了?
还有什么remote checkout意思呢?它有用吗?
如果我已经修改了一个版本的文件的几行,是有可能撤消的变化线通过命令行?
就像我对整个文件所做的那样:
git checkout /path/to/file.extension
Run Code Online (Sandbox Code Playgroud)
但是做一些事情,比方说
git checkout /path/to/file.extension --line 10
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我删除了文件夹中的所有内容,文件夹为空.我的远程仓库里还有一份副本.但是,当我做了一个git pull它没有放回已删除的文件是不是应该这样做?
所以我做了一些研究,发现你可以通过这样做来恢复文件
git checkout <revision> -- <name of file>
但这只适用于文件.
如何检索目录中的所有文件?
我有2个分支,尚未准备好合并,但有一些补充逻辑,我想审查(合并前)
我可以查看同一项目的多个git分支吗?可能吗?
以下是我的回购的状态.
[~/rails_apps/jekyll_apps/nepalonrails (design)?] ? gst
# On branch design
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: _layouts/default.html
# deleted: _site/blog/2010/04/07/welcome-to-niraj-blog/index.html
# deleted: _site/blog/2010/04/08/the-code-syntax-highlight/index.html
# deleted: _site/blog/2010/05/01/showing-demo-to-kalyan/index.html
# deleted: _site/config.ru
# deleted: _site/index.html
# deleted: _site/static/css/style.css
# deleted: _site/static/css/syntax.css
# modified: static/css/style.css
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
我突然做了git …
我很难做到拉origin.我一直在:
"无法提取,因为存在未提交的更改.请在再次提取之前提交或撤消更改.有关详细信息,请参阅"输出"窗口.
这也适用于切换分支.我得到了类似的消息,但这并不总是发生.
我正在使用Visual Studio 2015 Update 1和Visual Studio Team Services Git.在我的机器上,我有一个本地master分支和开发分支.每次我切换到master然后我做拉,我得到错误信息.我已经采取了存储和删除存储(命令行),有时我使用TortoiseGit做拉,它的工作原理.
奇怪的是,即使我尝试使用TortoiseGit还原(在未提交的文件上)它表明它已成功还原(我已经尝试过Visual Studio撤消,没有任何反应).试图再次拉动,仍然是同样的问题.未提交的文件将存在,有时当我这样做时,git status它说没有什么可以提交的.
只需注意:即使从分支切换到也可能发生这种情况master.在这种情况下,无法进行未提交的更改,因为我无法在第一时间切换.
我还是Git的新手,但我想知道是否有更好的方法来解决这个问题,因为我想使用一个环境而不是在每个任务的不同环境之间切换; 我更容易从Visual Studio中完成所有工作.我已经读过了:
VS中的TFS/GIT无法切换到master,因为存在未提交的更改
UPDATE
看起来这个问题与行结尾有关.
通过执行a,git diff -R您可以看到已添加行结尾,"^ M",并且它是不同的.删除* text=autoin gitattributes(然后检查更改)并再次将其重新打开,以便gitattributes不会发出需要提交的自身更改信号似乎有帮助,不会有任何更改.
git-pull git-revert git-checkout visual-studio-2015 azure-devops
我是最近的git转换器.很高兴能够使用git-svn在不干扰svn服务器的情况下在本地保留我的分支.最新版本的代码中存在一个错误.我想建立一个工作时间,以便我可以使用git bisect.我无法找到正确的命令,以便及时返回.谢谢.
我有一台亚马逊EC2机器.我想在这台机器上克隆一个旧版本的github repo.通常我使用git clone https://linktomyrepo.git如何克隆旧版本,比如14天前的更新?我可以在存储库的提交历史记录中看到我需要的确切版本,但不知道如何将其克隆到EC2机器上.我是否需要在每次提交旁边使用小的SHA代码?
当我执行git状态时,我看到这样的文件:
modified: dir/A/file.txt
modified: dir/B/file.txt
modified: dir/C/file.txt
modified: dir/D/file.txt
Run Code Online (Sandbox Code Playgroud)
我想要做的是放弃对dir/C/file.txt的所有文件的更改除外
我想做这样的事情:
git checkout -- dir/!C/file.txt
Run Code Online (Sandbox Code Playgroud) git-checkout ×10
git ×9
branch ×2
azure-devops ×1
git-pull ×1
git-revert ×1
git-svn ×1
github ×1
svn ×1
svn-update ×1