今までは、サーバーにつき一つのリポジトリしかなくバッティングしませんでした。ですが、同じ pub key を登録しようとすると
その鍵は使われている
という警告が出て登録できません。
解決方法は簡単で必要のリポジトリ分の鍵を生成してそれを使うのですが、普通にやっても使えませんでした。
Host {秘密鍵の名前}
HostName github.com
IdentityFile ~/.ssh/{秘密鍵の名前}
User git
TCPKeepAlive yes
IdentitiesOnly yes
公開鍵を Git hub の設定ページでデプロイキーをセット
git clone git@{秘密鍵の名前}:{User_name}/{リポジトリー名}.git
git pull
git pull git@{秘密鍵の名前}:{User_name}/{リポジトリー名}.git
おそらくこれでできるかと思います。
自分は管理が面倒くさかったので、リポジトリ名で鍵を作成しそれを記述しています、
最近 golang で開発を始めたのですが、github のプライベートリポジトリで管理されているパッケージをgo mod とセットで使おうとしたところ エラーが出てしましました。
--------github のURL------- 410 Gone
みたいな感じで 410 というエラーが出ました。
まず確認したのは、 Go env の設定です。
GO111MODULE="on"
GOPROXY="direct"
GOSUMDB="off"
この三つののパラメーを確認したのですが、もちろん上記のようになっていて問題はなし、なので原因を探していたら 意図していない動作があるのがわかりました。package のインポートする際のダウンロード元にアクセスできない、プロキシの設定が無効になっているようでした。 けど、設定はしているのにおかしいと思っていたら、 GoLand は自陣のプロジェクトごとに環境設定を持っていて、その設定を読み込んでいたのです。
てっきり私はシステムの方の設定を使っているのかと思っていました。 これを見つけたとき悔しかったです。
package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
var sc = bufio.NewScanner(os.Stdin)
func nextInt() int {
sc.Scan()
i, e := strconv.Atoi(sc.Text())
if e != nil {
panic(e)
}
return i
}
func matrix(num int) [][]int {
var t, x, y int
matrix := make([][]int, num)
for i := 0; i < num; i++ {
t = nextInt()
x = nextInt()
y = nextInt()
matrix[i] = []int{t, x, y}
}
return matrix
}
func check(matrix [][]int, n int) bool {
//位置情報
position := []int{0, 0}
var status = false
var workCount int
for i := 0; i < n; i++ {
//移動回数
if i > 0 {
workCount = matrix[i][0] - matrix[i-1][0]
} else {
workCount = matrix[i][0]
}
for j := 0; j < workCount; j++ {
if position[0] < matrix[i][1] {
position[0]++
} else if position[1] < matrix[i][2] {
position[1]++
} else if position[0] > matrix[i][1] {
position[0]--
} else if position[1] > matrix[i][2] {
position[1]--
} else {
position[0]++
}
}
if position[0] == matrix[i][1] && position[1] == matrix[i][2] {
status = true
continue
} else {
status = false
break
}
}
return status
}
func main() {
sc.Split(bufio.ScanWords)
n := nextInt()
matrix := matrix(n)
status := check(matrix, n)
if status {
fmt.Println("Yes")
} else {
fmt.Println("No")
}
}