使用git fetch --prune删除远程计算机上的分支时删除本地远程跟踪分支.使用以下命令将remote.origin.prune设置为true ...
git config --global fetch.prune true
Run Code Online (Sandbox Code Playgroud)
...使用fetch命令总是隐式使用--prune选项.
我正在为我的小组中不熟悉它的一些开发人员整理git的最佳实践/介绍.在建议他们这样做之前,我想确定我知道这不是一种危险的行为.如果发生一些无关紧要的事故,我至少会让他们了解需要注意的事项.
它似乎不是一个破坏性操作,因为它不会删除任何本地(非远程)分支.如果没有定期指定git fetch --prune或git remote prune,这似乎是一种不构建不再使用的遥控器的好方法.
如果这都是真的,为什么这不是git的默认行为?
大家好,我的问题是关于git diff,我想知道如何git diff master origin/master在VSCODE终端上的命令中以文件形式查看,我git fetch从远程存储库中执行了一个操作,现在我想查看差异,但命令仅显示我在航站楼。我正在努力得到这样的东西...
我想要的例子:
某个遥控器的Fetch URL和Push URL何时不相同?
例如,当我运行git remote show central远程命名为central时,输出如下:
* remote central
Fetch URL: aoberoi@example.com:/home/aoberoi/Repositories/example.git
Push URL: aoberoi@example.com:/home/aoberoi/Repositories/example.git
HEAD branch: master
Remote branch:
master tracked
Run Code Online (Sandbox Code Playgroud)
我只是不明白为什么我会从两个不同的URL中获取和推送,这是什么类型的工作流程?
所以 - 有人可以澄清这个:
我跑:
git pull origin master
git status
Run Code Online (Sandbox Code Playgroud)
然后它就会提出改变并说:
your branch is ahead of origin/master ... blahblah by 6 commits...
Run Code Online (Sandbox Code Playgroud)
当我跑的时候
git fetch
git status
Run Code Online (Sandbox Code Playgroud)
它说:
# On branch master
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
所以 - 我认为git pull默认情况下会执行git fetch - 那么为什么它会在没有额外的情况下"提前6次提交" git fetch呢?
我读了这个问题的答案,git fetch origin应该取得所有原始分支.在我的情况下,它似乎并没有给我任何分支.这是我做的:
最初,一个名为origin的远程有7个分支.我克隆了它.git branch然后只返回master.我做了git fetch origin,git branch仍然只是表演master.如何在不单独获取的情况下获取其他6个分支?
编辑:我已经检查过这个在Git中的FETCH_HEAD是什么意思? 在提出问题之前.
抱歉原始的不准确的问题.
我的问题是fetch是如何工作的?fetch会丢弃所有当前日志吗?
这是我的情况:我的队友和我正在使用只有一个分支的相同存储库.因此我们必须在推送之前进行提取.
我们通常这样做:
git status
git add .
git commit -m message1
git fetch origin
git reset head
git status
git add .
git commit -m message
git push
Run Code Online (Sandbox Code Playgroud)
但重置后,似乎我之前的提交(with message1)已经消失.
这是正常的还是有什么不对?
我如何访问我的本地历史记录?
它们已经同步但我的当地历史已经消失.
老员工,算了吧:我最近一直在学习Git CLI.
有人告诉我键入" git fetch head"以跟踪远程分支.
但我想知道这是做什么的?此命令是否覆盖我的本地日志?
" git fetch"和" git fetch head" 之间有什么区别?
我正在编写一个工具来将我的所有存储库从Bitbucket(支持Git和Mercurial)备份到我的本地计算机.
它已经适用于Mercurial,我这样做:
bareGit存储库相同)现在我正在尝试用Git做同样的事情.
我已经发现我不能直接pull访问裸存储库,而是应该使用它fetch.
所以我试了一下:
C:\test>git fetch https://github.com/SamSaffron/dapper-dot-net.git
remote: Counting objects: 1255, done.
remote: Compressing objects: 100% (1178/1178), done.
remote: Total 1255 (delta 593), reused 717 (delta 56)
Receiving objects: 100% (1255/1255), 13.66 MiB | 706 KiB/s, done.
Resolving deltas: 100% (593/593), done.
From https://github.com/SamSaffron/dapper-dot-net
* branch HEAD -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)
显然Git 确实取了一些东西,但之后本地存储库是空的.
(git log说fatal: bad default revision 'HEAD')
我究竟做错了什么?
免责声明:
我只有非常非常基本的Git知识(我通常使用Mercurial).
我正在使用Windows,如果这很重要的话.
在我的主目录(在Ubuntu盒子上)的repo中我做了
git fetch
Run Code Online (Sandbox Code Playgroud)
我很遗憾地得到一个错误:
insufficient permission for adding an object to repository database .git/objects
Run Code Online (Sandbox Code Playgroud)
.git/objects中有大量的目录,所有这些目录都是775.我做过的少数抽样检查显示文件是664.
我去了,做了一个
chmod -R 777 .git/objects
Run Code Online (Sandbox Code Playgroud)
这解决了问题,但现在我的盒子上有一堆文件777,我确信这是一个禁忌.
什么应该是正确的权限,如何轻松地正确设置所有1000万个文件和目录?
提前致谢.
git permissions file-permissions directory-permissions git-fetch
如果我不混帐从取回购A到B,在主分支B唯一的改变-不改变remotes/origin/master,并git status让我想起了它.
但现在我想做相反的事情- 更新,B从A推动A:master到B:remotes/origin/master.这样做的原因是此更新发生在ssh上,并且A机器具有公钥验证B机器 - 但反之亦然.
我怎样才能做到这一点?
我想从上游存储库的分支中提取更改。我已经使用以下命令设置了上游存储库:
git remote add upstream http://URL-of-master-repo.git
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用来拉取更改
git checkout my-local-branch
git fetch upstream remote-branch
git merge upstream/remote-branch
Run Code Online (Sandbox Code Playgroud)
但文件仍然没有出现在我的磁盘上,但我遇到了冲突:
Auto-merging minimal-build-config.cmake
CONFLICT (content): Merge conflict in minimal-build-config.cmake
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)
如何正确解决冲突以便能够从上游分支获取文件?
git ×10
git-fetch ×10
git-pull ×2
branch ×1
git-clone ×1
git-diff ×1
git-difftool ×1
git-remote ×1
merge ×1
permissions ×1
push ×1
workflow ×1