2011-12-14 11 views
14

.gitconfigにGitHubトークンを隠す必要があるGitHubにすべてのドットファイルを保存したいと思います。.gitconfig内のGitHubトークンを隠す

... 
[github] 
user = giuliop 
token = --hidden-- 
... 

そして、私は必要なシェルスクリプト:

は私が編集して、トークンを隠しているgitの下に置くつもりファイルである「.gitconfig-隠されたトークン」ファイルを持ってこれを行うには私は「.gitconfig」ファイルを作成するには、「.gitconfig - 隠されたトークン」ファイルを変更した場合に起動します:

cp .gitconfig .gitconfig.backup 
sed 's/--hidden--/123456789/' .gitconfig-hidden-token > .gitconfig 

欠点は、手動で毎回私は、ファイルをmodidyスクリプトを起動する必要があります。これを行うためのより完全で自動化された方法がありますか?

答えて

10

git add -Nで.gitconfigを追加してください。

then git add -pそれを編集して、何かでトークンを置き換えて、それを押します。このように余分なファイルは必要ありません。

補足:ファイルの追加改訂では、git add -pを再度使用して、最初の操作を上書きしないようにハンクを編集してください。

+2

その後にファイルを編集し、 '-p'を忘れると' git add'するとどうなりますか?トークンは – gws

+0

@gwsで公開されているはずですが、実際にコミットする前に 'git diff --cached'を使うことができますし、おそらく' git reset'するだけです。 – fge

+2

正しいアプローチは、@ddopson – Hedgehog

1

私のドットファイルリポジトリを更新するためのスクリプトを作成しました。私のgithubトークンなどの機密情報も書き換えます。 gitubトークンはもうGitHubで使われているとは思えませんが、私が間違っていれば修正してください。

私のスクリプトhereを見ることができます。

34

私はこれを自分で修正しました。この問題を解決する「適切な」方法は、gitconfigを2つのファイルに分割することです。別名/ config/etcを持つパブリックファイルと、ユーザー名と秘密を保持するプライベートファイルです。

[include] 
    # For username/creds/etc 
    path = ~/.gitconfig.local 

[alias] 
    ... 
.gitconfig.local:
[user] 
    user = ddopson 
    name = Dave Dopson 
    email = [email protected] 
    token = a123uber456secret789ceprivate000key78 

[credential] 
    helper = osxkeychain 
.gitignore:
/.gitconfig.local 
https://github.com/ddopson/dotfilesから


...

.gitconfig ...そうのように
+1

の答えに 'include'を使うことです。あなたの' .gitconfig.local'ファイルをあなたのドットファイルのgitリポジトリと同じ開発ディレクトリに置いておく場合は、 '.gitconfig .local'をプロジェクトの '.gitignore'に追加します。 –

関連する問題