我有一个java maven项目(Eclipse)。这是一个测试项目,用于根据excel中给出的输入在系统中创建数据。目前,我已使用git在本地计算机中克隆了整个项目,在运行测试之前,更新输入excel文件并推送到Azure存储库。是否有方法直接在存储库中将更改推送到输入excel文件,而不将整个项目文件夹下载到本地?
c86crjj01#
直接上传就行了...
...当然,它会创建一个提交,但这很简单。我以前在没有IDE的情况下,通过简单地在线编辑repo中的现有文件来修改代码。
jecbmhm32#
我们无法在Web浏览器上直接打开和编辑Git存储库中的Excel文件。我试过几个基于Git的版本控制平台(Azure Git Repos,GutHub,GitLab,Bitbucket等),都不能让用户直接打开和编辑Git仓库中的Excel文件。我也没有找到任何可用的扩展可以帮助做到这一点。因此,您需要将Excel文件下载到安装MS Office的本地,然后在本地打开并编辑它。
hmae6n7t3#
可能,使用Azure开发运营服务REST /推送-创建
POST https://dev.azure.com/fabrikam/_apis/git/repositories/{repositoryId}/pushes?api-version=6.0
但这似乎是很多工作相比,一个简单的脚本,这将,每次你修改本地Excel文件:
git add
git commit
git push
qv7cva1a4#
您可以使用REST和Powershell更新远程存储库上的文件...例如:
$user = "" $token = "<PAT>" #https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token))) $orgUrl = "https://dev.azure.com/<org>" $teamProject = "TestProject" $repoName = "Repo1" $localFilePath = 'c:/temp/tst.xlsx' $gitFilePath = 'testfolder/tst.xlsx' $gitBranch = "master" $restApiUpdateFile = "$orgUrl/$teamProject/_apis/git/repositories/$repoName/pushes?api-version=6.1-preview.2" $restApiGetMasterRef = "$orgUrl/$teamProject/_apis/git/repositories/$repoName/refs?filter=heads/$gitBranch`&api-version=6.1-preview.1" $fileContentToUpdate = [convert]::ToBase64String((Get-Content -path $localFilePath -Encoding byte)) function InvokeGetRequest ($GetUrl) { return Invoke-RestMethod -Uri $GetUrl -Method Get -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} } function InvokePostRequest ($PostUrl, $body) { return Invoke-RestMethod -Uri $PostUrl -Method Post -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $body } $updateBody = @" { "refUpdates": [ { "name": "refs/heads/{gitbranchpath}", "oldObjectId": "{mainBranchObjectId}" } ], "commits": [ { "comment": "Updates file", "changes": [ { "changeType": "edit", "item": { "path": "{filePathToUpdate}" }, "newContent": { "content": "{newFileContentToUpdate}", "contentType": "base64encoded" } } ] } ] } "@ $res = InvokeGetRequest $restApiGetMasterRef $updateBody = $updateBody.Replace("{gitbranchpath}", $gitBranch); $updateBody = $updateBody.Replace("{mainBranchObjectId}", $res.value[0].objectId); $updateBody = $updateBody.Replace("{filePathToUpdate}", $gitFilePath); $updateBody = $updateBody.Replace("{newFileContentToUpdate}", $fileContentToUpdate); InvokePostRequest $restApiUpdateFile $updateBody
4条答案
按热度按时间c86crjj01#
直接上传就行了...
...当然,它会创建一个提交,但这很简单。我以前在没有IDE的情况下,通过简单地在线编辑repo中的现有文件来修改代码。
jecbmhm32#
我们无法在Web浏览器上直接打开和编辑Git存储库中的Excel文件。
我试过几个基于Git的版本控制平台(Azure Git Repos,GutHub,GitLab,Bitbucket等),都不能让用户直接打开和编辑Git仓库中的Excel文件。
我也没有找到任何可用的扩展可以帮助做到这一点。
因此,您需要将Excel文件下载到安装MS Office的本地,然后在本地打开并编辑它。
hmae6n7t3#
可能,使用Azure开发运营服务REST /推送-创建
但这似乎是很多工作相比,一个简单的脚本,这将,每次你修改本地Excel文件:
git add
git commit
git push
qv7cva1a4#
您可以使用REST和Powershell更新远程存储库上的文件...例如: