新分支在Git服务器上不可用

时间:2018-06-21 17:16:56

标签: git

我的ubuntu服务器上有一个远程存储库

我在/home/USER/git/project.git/中运行了git init --bare,并将其设置为从本地计算机推送到的远程URL。 /home/USER/git/project.git指向/var/www/project/,因为我有一个文件/home/USER/git/project.git/hooks/post-receive

接收后内容:

#!/bin/sh
GIT_WORK_TREE=/var/www/project git checkout -f 

我可以推送对我的master分支所做的更改,它们将显示在/var/www/project/中,但是如果我创建一个新分支,则该目录中不存在该更改。但是我可以在/home/USER/git/project.git中看到它。分支为什么不进入结帐指向的文件夹?

谢谢

1 个答案:

答案 0 :(得分:1)

您提交到def sub_array_sum(nums, k=0): count, sum = 0, 0 map = dict() map[0] = 1 for i in range(len(nums)): sum += nums[i] if map.__contains__(sum - k): count += map[sum - k] map[sum] = map.get(sum, 0) + 1 return count 之外的其他引用的承诺不会进入您的工作目录,因为您的钩子没有告诉git将它们放在那里。

您的裸仓库#Exit Script $ExitList = Import-Csv "C:\File\path\test.csv" Foreach($EUser in $ExitList) { $DisabledUserParams = @{ AccountName = $EUser.pAccountname UPN = "$($EUser.pAccountname)@company.com" Department =$EUser.pDepartment } #For the licenses $AccountSkuID = Get-MsolUser -UserPrincipalName $DisabledUserParams.UPN | Where-Object {($_.licenses).AccountSkuId -match "license 1"} $AccountSkuID2 = Get-MsolUser -UserPrincipalName $DisabledUserParams.UPN | Where-Object {($_.licenses).AccountSkuId -match "license 2"} $AccountSkuID3 = Get-MsolUser -UserPrincipalName $DisabledUserParams.UPN | Where-Object {($_.licenses).AccountSkuId -match "license 3"} $Department = Get-MsolUser -UserPrincipalName $DisabledUserParams.UPN | select Department Set-AzureADUser -ObjectId $DisabledUserParams.UPN -AccountEnabled $False if($AccountSkuID.UserPrincipalName -match $DisabledUserParams.UPN) { Set-MsolUserLicense -UserPrincipalName $DisabledUserParams.UPN -RemoveLicenses "reseller-account:O365_BUSINESS_PREMIUM"} else{continue} if($AccountSkuID2.UserPrincipalName -match $DisabledUserParams.UPN) { Set-MsolUserLicense -UserPrincipalName $DisabledUserParams.UPN -RemoveLicenses "reseller-account:O365_BUSINESS_ESSENTIALS"} if($AccountSkuID3.UserPrincipalName -match $DisabledUserParams.UPN) { Set-MsolUserLicense -UserPrincipalName $DisabledUserParams.UPN -RemoveLicenses "reseller-account:DESKLESSPACK"} Remove-DistributionGroupMember -Identity All -Member $DisabledUserParams.UPN #For the Department to take of DLs and SMs and if($Department.Department -match "Call Center") { Remove-DistributionGroupMember -Identity callctr@company.com -Member -Member $DisabledUserParams.UPN | Remove-MailboxPermission -Identity CallCenter -User $DisabledUserParams.UPN -AccessRights FullAccess -Confirm:$False} if($Department.Department -match "Sales") {Remove-DistributionGroupMember -Identity salesteam@company.com -Member -Member $DisabledUserParams.UPN} 位于master;因此HEAD将从master更新工作树,而无论您刚刚推动什么。

我猜您可以编写一个更复杂的钩子,该钩子检查哪些ref是通过推送更新的,并且其行为相应;但是您可能会从措词(“ ref(s)”)中注意到一个问题。如果更新了多个裁判该怎么办?您要签出哪一个?

如果选择进行这种基于git的部署,通常的行为是分支对应于一棵工作树,并且通常意味着git checkout -f对应于一棵工作树。

(根据记录,我不喜欢这种基于git的部署,因为不可避免的需求超出了可以方便完成的范围,人们开始努力使git尝试做真正的部署工具可以说,想让多个分支部署到同一工作树已经是一个例子。