我正在尝试使用个人访问令牌与GitHub进行身份验证。在GitHub的帮助文件中,它声明使用cURL方法进行身份验证(创建个人访问令牌)。我已经尝试过了,但是我仍然无法推送到GitHub。请注意,我正试图从未经验证的服务器(特拉维斯CI)推送。

cd $HOME
git config --global user.email "emailaddress@yahoo.com"
git config --global user.name "username"

curl -u "username:<MYTOKEN>" https://github.com/username/ol3-1.git
git clone --branch=gh-pages https://github.com/username/ol3-1.git gh-pages

cd gh-pages
mkdir buildtest
cd buildtest
touch asdf.asdf

git add -f .
git commit -m "Travis build $TRAVIS_BUILD_NUMBER pushed to gh-pages"
git push -fq origin gh-pages

这段代码会导致以下错误:

remote:匿名访问scuzzlebuzz /ol3-1。git否认。

致命:'https://github.com/scuzzlebuzzle/ol3-1.git/'认证失败"


当前回答

Mac用户:

打开钥匙链访问,找到GitHub 右键单击GitHub 单击“删除” 打开终端并尝试克隆一个私有项目 添加所需的值 用户名:$your GitHub用户名 密码:$粘贴令牌在这里 然后按Enter键。Voilà—已添加令牌。

其他回答

因为我使用的是macOS,所以我可以专门为macOS回答这个问题。 我们也可以在Windows上使用这个。它的工作原理! 在你的GitHub帐户中,点击右上角的头像,进入设置配置文件。

点击设置:

点击开发者设置:

点击个人访问令牌:

然后点击Generate new token:

为您的访问令牌提供一个名称,并检查第一个选项。

向下滚动并单击generate token

现在,当你推送repo时,使用以下语法:

git remote add origin https:<access__token>://@github.com/<username>/<repo__name>.git

git push https://<access__token>@github.com/<username>/<repo__name>.git

在我看来,你可以使用第二种选择,同时按下回购提供访问令牌,你就可以了。

通过在应用GitHub令牌上挣扎了这么多小时,最终它的工作原理如下:

$ cf_export GITHUB_TOKEN=$(codefresh get context github——decryph -o . Yaml | yq -y .spec.data.auth.password)

代码遵循Codefresh关于使用令牌克隆回购的指导(freestyle} 测试进行:sed %d%H%M匹配词'-123456-whatever' 推回回购(私人回购) 由DockerHub webhooks触发

以下是完整的代码:

version: '1.0'
steps:
  get_git_token:
    title: Reading Github token
    image: codefresh/cli
    commands:
      - cf_export GITHUB_TOKEN=$(codefresh get context github --decrypt -o yaml | yq -y .spec.data.auth.password)
  main_clone:
    title: Updating the repo
    image: alpine/git:latest
    commands:
      - git clone https://chetabahana:$GITHUB_TOKEN@github.com/chetabahana/compose.git
      - cd compose && git remote rm origin
      - git config --global user.name "chetabahana"
      - git config --global user.email "chetabahana@gmail.com"
      - git remote add origin https://chetabahana:$GITHUB_TOKEN@github.com/chetabahana/compose.git
      - sed -i "s/-[0-9]\{1,\}-\([a-zA-Z0-9_]*\)'/-`date +%d%H%M`-whatever'/g" cloudbuild.yaml
      - git status && git add . && git commit -m "fresh commit" && git push -u origin master

输出……

On branch master 
Changes not staged for commit: 
  (use "git add ..." to update what will be committed) 
  (use "git checkout -- ..." to discard changes in working directory) 

modified:   cloudbuild.yaml 

no changes added to commit (use "git add" and/or "git commit -a") 
[master dbab20f] fresh commit 
 1 file changed, 1 insertion(+), 1 deletion(-) 
Enumerating objects: 5, done. 
Counting objects:  20% (1/5) ...  Counting objects: 100% (5/5), done. 
Delta compression using up to 4 threads 
Compressing objects:  33% (1/3) ... Writing objects: 100% (3/3), 283 bytes | 283.00 KiB/s, done. 
Total 3 (delta 2), reused 0 (delta 0) 
remote: Resolving deltas:   0% (0/2)  ...   (2/2), completed with 2 local objects. 
To https://github.com/chetabahana/compose.git 
   bbb6d2f..dbab20f  master -> master 
Branch 'master' set up to track remote branch 'master' from 'origin'. 
Reading environment variable exporting file contents. 
Successfully ran freestyle step: Cloning the repo 

用于登录github.com门户的密码在Visual Studio Code CLI/shell中不起作用。您应该通过生成一个新令牌来从URL https://github.com/settings/tokens复制PAT令牌,并将该字符串粘贴到CLI中作为密码。

下面的步骤对我很有用:

Git远程删除原点 git remote add origin https://[TOKEN]@[REPO LINK]

例如,我的回购名称是:https://github.com/username/codf.git。

命令如下:

git远程添加原点https://[TOKEN]@github.com/username/codf.git

git 推送源分支名称

步骤1:获取访问令牌

访问这个链接:https://github.com/settings/tokens。然后生成令牌。 或者从你的Github账户,转到: 设置->开发者设置->个人访问令牌

步骤2:使用令牌

git推 用户名:<用户名> 密码:<访问令牌>