所以我正在做类似的事情
git log --graph --pretty='%h %d %s' -n10
Run Code Online (Sandbox Code Playgroud)
获取我最近提交的简要历史记录.
我唯一的问题是,大部分时间我都不想看到标签,只看到分支.但是%d显示标签和分支.有什么方法我只能显示分支名称而不是标签吗?
所以我试图从github中删除一个提交.
这是3次提交之前,如果所有的更改都丢失了我就可以了.
所以基于这里的问题,我做了一个
git reset --hard <sha-commit-name-to-go-back-to>
git push -f origin HEAD^:master
Run Code Online (Sandbox Code Playgroud)
现在它已经从github以及git log中消失了.
然后我重新修改了我的修改
git add <file I changed>
git commit
git log
Run Code Online (Sandbox Code Playgroud)
一切都很好看.没有旧提交的痕迹.所以我终于做了一个:
git push
Run Code Online (Sandbox Code Playgroud)
现在突然github有我删除的那三个提交.
我究竟做错了什么?如何保持提交不返回?
在我的主目录(在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
在bash脚本中,我做了一个
git push
Run Code Online (Sandbox Code Playgroud)
我检查它的退出状态.
在远程服务器上有一个post-receive hook,可以做一些事情.如果发生错误,则post-receive挂钩将以非零值退出.
但是当post-receive hook错误输出时,git push会正常退出.除非我专门检查输出的特定错误字符串(我不是),我的脚本认为一切正常.
我有一个简单的方法来确定接收后挂钩是否失败?
我的本地git repo需要从一台服务器上拉.然后,它需要将特定分支推送到具有不同服务器上的不同分支名称的审阅存储库.
类似于:从Server1上的PullOnlyRepo中拉出所有内容(我们可能会调用该来源吗?)将Branch分支修补程序推送到ReivewRepo,在Server2上使用分支名称JistChanges.
现在git config -l显示:
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=<URL for Server1>
remote.origin.pushurl=no_push (this shouldn't matter since it is a pull only repo)
branch.production.remote=origin
branch.production.merge=refs/heads/production
remote.review.url=<URL for Server2>
remote.review.fetch=+refs/heads/*:refs/remotes/review/*
Run Code Online (Sandbox Code Playgroud)
git pull做我想要的(从Server1上的正确位置获取更改并将它们合并到我的工作树中).
但是git push没有.为了实现我想要的我必须做的事情
git push review hotfix:JistChanges
Run Code Online (Sandbox Code Playgroud)
是否有一些方法可以让git pull做到这一点,而不必添加额外的东西?
已经设置了一些问题,以便您的本地分支推送到具有不同分支名称的远程.然而,它们也改变了上游和拉动的来源.
git ×5
bash ×1
commit ×1
git-bash ×1
git-branch ×1
git-fetch ×1
git-log ×1
git-remote ×1
github ×1
permissions ×1