当您创建新存储库并运行时git branch,它将以静默方式退出.例如:
$ mkdir /tmp/foo; cd /tmp/foo; git init
Initialized empty Git repository in /tmp/foo/.git/
$ git branch
Run Code Online (Sandbox Code Playgroud)
为什么命令不提供任何输出,或显示主分支?
我正在使用 git 管理这个 LaTeX 项目,其中我有几个分支,我将其用作master获取所有更改的分支(在项目结束时它将是最终版本)。有时,当我在分支下编译项目时,获取 pdf,然后当我将该分支与 合并时,master会出现合并冲突(在masterpdf 版本和branchpdf 版本之间)。有时,两个版本会无缝合并。我做了什么导致了一种又另一种情况?如何确保两个版本合并而不发生冲突?
我在为工作找到正确的 git 命令时遇到了一些问题。
我工作的地方目前正在切换源代码控制(TFVC -> Git)。但是,TFVC 中的旧版本仍然需要不时修复错误。
我通过使用一些 PowerShell 脚本创建构建来处理这个问题,以确保我的“tfvc-merge”分支包含这些更改。
所以这就是我之后所做的。
我试着把它画出来。所以基本上,拉取请求中的空提交将在我的绘图中具有 1 和 2 的父项。
我一直在四处寻找,几个小时没有找到正确的方法来做到这一点。因此,如果有一个提示可以为我指明正确的方向,那就太好了。提前致谢。
我在某个软件项目中,我们将代码存储在GitHub上。有一个主和开发分支的仓库。我当时在笔记本电脑上没有互联网连接,并且想开始使用其他功能,所以我做了以下工作:
git init
git remote add origin git://repo_adress
git checkout -b webapp <- created a new branch
Run Code Online (Sandbox Code Playgroud)
我添加了一些文件,文件夹等。
然后我做了:
git add .
git commit -m "something"
git push origin webapp
Run Code Online (Sandbox Code Playgroud)
我在GitHub上检查过,现在有3个分支。我想将webapp合并到开发中(不会有冲突,我在单独的文件夹中工作)。不幸的是,当我尝试这样做时git pull,发生了这种情况:
* [new branch] development -> origin/development
* [new branch] master -> origin/master
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
Run Code Online (Sandbox Code Playgroud)
现在,当我使用时git pull origin development,将显示:
From github.com:repo_address
* branch development -> …Run Code Online (Sandbox Code Playgroud) 我是git的新手,有些东西我不清楚。git内部如何知道文件是新文件还是修改后的文件?
由于git不跟踪文件,而是跟踪blob。这与相似性指标有关吗?
我也遇到了问题,当移动文件并对其进行修改时,有时git会将其识别为重命名的文件,有时将其识别为新文件。
对于小文件,它将识别为新文件并删除。
我如何才能“欺骗” git,以将这种情况标记为移动文件,而不是新的和删除的文件(不进行两次不同的提交-一个用于移动,另一个用于更改)?
git pull 是指 git fetch 然后是 git merge。但是,具体来说,为什么有人会在不先进行 fetch 的情况下进行 git merge 呢?即为什么可以将一个看似单一的操作分成两个子操作?
我有一种感觉,我用远程的内容覆盖了本地的更改...我该如何恢复它?
我有一个远程分支develop。我还有一个本地分支,它不是 git 存储库。
我通过执行以下操作将本地目录设为 git 存储库git init。我想将本地的所有内容添加到远程开发分支,所以我尝试了:
git remote add origin git@github.....
git fetch
git add .
git commit -m "some comment"
git status
Run Code Online (Sandbox Code Playgroud)
但它告诉我:
On branch master
nothing to commit, working tree clean
Run Code Online (Sandbox Code Playgroud)
我觉得很奇怪......所以我尝试了
git push origin develop
Run Code Online (Sandbox Code Playgroud)
但我得到了错误:
error: src refspec develop does not match any
error: failed to push some refs to 'git@github.com:.....'
Run Code Online (Sandbox Code Playgroud)
所以我认为我需要进行开发,所以我这样做了:
git checkout develop
git push
Run Code Online (Sandbox Code Playgroud)
但随后它告诉我一切都是最新的
但是当我去 github 的开发分支时,我没有看到我提交的更改。
我尝试撤消git fetch此处显示的内容:如何撤消“git fetch”
所以我这么做了,git remote …
git ×7
git-merge ×2
github ×2
cherry-pick ×1
git-branch ×1
git-commit ×1
git-fetch ×1
merge ×1