我有一个脚本在一个分支中工作正常,在另一个分支中被破坏.我想并排看两个版本,看看有什么不同.有没有办法做到这一点?
要明确我不是在寻找比较工具(我使用Beyond Compare).我正在寻找一个git diff命令,它允许我将主版本与我当前的分支版本进行比较,看看有什么变化.我不是在合并或任何事情的中间.我只想说些什么
git diff mybranch/myfile.cs master/myfile.cs
Run Code Online (Sandbox Code Playgroud) 情况:我有一个Git存储库,其中包含已存在于索引中的文件.我对几个文件进行了更改,打开Git并使用"git add"将这些文件添加到我的临时区域.
问题:如何从暂存区域中删除其中一个文件但不将其从索引中删除或撤消对文件本身的更改?
鉴于已经提交的更改已经使用commit,然后还原使用revert,那么撤消该恢复的最佳方法是什么?
理想情况下,这应该使用新的提交来完成,以便不重写历史记录.
如何摆脱存储库中所有文件的所有更改?
说我在一个分支机构,我做了一些改变.git status返回"未提交更改的更改"中的一组文件,我注意到我想要删除所有文件中的所有这些更改.如何使用单个命令执行此操作?
我知道我可以执行以下操作来签出一个文件:
git checkout -- <file>
Run Code Online (Sandbox Code Playgroud)
我注意到git checkout --单独返回所有未提交文件的列表.但是,我无法找到一种方法来检查所有这些,例如git checkout --all.
我检查过man git checkout,找不到任何东西.我也看到了Git:Checkout除了一个以外的所有文件并且尝试过git checkout .也没有用.
我是否必须通过循环git checkout --输出以编程方式执行此操作?
http://norbauer.com/notebooks/code/notes/git-revert-reset-a-single-file
我找到了一个帖子.
但还是不知道之间有什么区别
git checkout <filename>
git checkout -- <filename>
在什么情况下我应该分别使用第一个和第二个?
我试图从我的工作目录中删除该文件,但使用以下命令后
git checkout file_Name.txt
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息
error: path 'first_Name.txt' is unmerged
Run Code Online (Sandbox Code Playgroud)
那是什么以及如何解决它?
以下是我的git状态
$ git status
On branch master
You are currently reverting commit f200bf5.
(fix conflicts and run "git revert --continue")
(use "git revert --abort" to cancel the revert operation)
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: first_file.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
explore_california/
no changes added to commit (use "git …Run Code Online (Sandbox Code Playgroud) 我已经阅读了关于在Git中合并的一些技巧:合并公共和私有分支,同时在两个分支和其他分支中保持某些文件完整,但没有找到解决方案.
在我的情况下,我觉得需要做相反的合并策略.在并行开发中,我必须在任意分支上保持一些文件相同.从另一方面来说,我不想做壁球或无提交合并,而差异很大,可能会破坏测试分支的当前状态.
我想要什么样的东西
git checkout testing
git merge config.xml -b development 要么 git merge config\*.xml -b development
我想这就像git merge-files ...命令,但第二个文件是从分支传递的,而不是从文件系统传递的.可能吗?或者可能有一种解决方法?子模块?属性?
谢谢
我知道这不是一个严格的编程问题,但它与git有关.我不小心在git中创建了一个分支--track(我在合并远程分支时得到了错误的选项顺序)
常规命令不起作用:
git branch -D "--track"
Run Code Online (Sandbox Code Playgroud)
我试图用引号和反斜线逃脱,但是都不起作用.
有任何想法吗?
在阅读Git命令的手册页时,您经常会看到一个可选的--(破折号).根据我的经验,这--不是必要的,没有任何区别.你什么时候需要它?一般来说它是什么意思,因为它出现在如此众多的命令中?
我想到了这条线
git checkout .
Run Code Online (Sandbox Code Playgroud)
可以还原当前目录和本地工作副本的子目录中的所有更改.但我也看到这种流行的形式:
git checkout -- .
Run Code Online (Sandbox Code Playgroud)
因此,如果-- (双破折号或也称为"裸双破折号")是发出命令选项结束的信号,那么为什么在上述情况下需要呢?将.永远是一个选项,所以不应该有任何混淆.