❶ 如何生成SSH key及訪問Github
Git是分布式的代碼管理工具,遠程的代碼管理是基於SSH的,所以要使用遠程的Git則需要SSH的配置。 github的SSH配置如下: 1 、設置Git的user name和email: $ git config --global user.name "xuhaiyan" $ git config --global user.email "haiy
❷ clone git repositories using ssh怎麼使用
在使用git來進行版本控制時,為了得一個項目的拷貝(),我們需要知道這個項目倉庫的地址(Git URL). Git能在許多協議下使用,所以Git URL可能以ssh://, http(s)://, git://,或是只是以一個用戶名(git 會認為這是一個ssh 地址)為前輟.
有些倉庫可以通過不只一種協議來訪問,例如,Git本身的源代碼你既可以用 git:// 協議來訪問:
git clone git://git.kernel.org/pub/scm/git/git.git
也可以通過http 協議來訪問:
git clone http://www.kernel.org/pub/scm/git/git.git
git://協議較為快速和有效,但是有時必須使用http協議,比如你公司的防火牆阻止了你的非http訪問請求.如果你執行了上面兩行命令中的任意一個,你會看到一個新目錄: 'git',它包含有所的Git源代碼和歷史記錄.
在默認情況下,Git會把"Git URL"里最後一級目錄名的'.git'的後輟去掉,做為新克隆(clone)項目的目錄名: (例如. git clone http://git.kernel.org/linux/kernel/git/torvalds/linux-2.6.git 會建立一個目錄叫'linux-2.6')
另外,如果訪問一個Git URL需要用法名和密碼,可以在Git URL前加上用戶名,並在它們之間加上@符合以表示分割,然後執行git clone命令,git會提示你輸入密碼。
示例
git clone robin.hu@http://www.kernel.org/pub/scm/git/git.git
這樣將以作為robin.hu用戶名訪問http://www.kernel.org/pub/scm/git/git.git,然後按回車鍵執行git clone命令,git會提示你輸入密碼。
另外,我們可以通過-b <name>來指定要克隆的分支名,比如
$ git clone -b master2 ../server .
表示克隆名為master2的這個分支,如果省略-b <name>表示克隆master分支。
GIT URLS
In general, URLs contain information about the transport protocol, the address of the remote server, and the path to the repository. Depending on the transport protocol, some of this information may be absent.
Git natively supports ssh, git, http, https, ftp, ftps, and rsync protocols. The following syntaxes may be used with them:
ssh://[user@]host.xz[:port]/path/to/repo.git/
git://host.xz[:port]/path/to/repo.git/
http[s]://host.xz[:port]/path/to/repo.git/
ftp[s]://host.xz[:port]/path/to/repo.git/
rsync://host.xz/path/to/repo.git/
An alternative scp-like syntax may also be used with the ssh protocol:
[user@]host.xz:path/to/repo.git/
The ssh and git protocols additionally support ~username expansion:
ssh://[user@]host.xz[:port]/~[user]/path/to/repo.git/
git://host.xz[:port]/~[user]/path/to/repo.git/
[user@]host.xz:/~[user]/path/to/repo.git/
For local repositories, also supported by git natively, the following syntaxes may be used:
/path/to/repo.git/
file:///path/to/repo.git/
Examples
Clone from upstream:
$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6 $ cd my2.6 $ make
Make a local clone that borrows from the current directory, without checking things out:
$ git clone -l -s -n . ../ $ cd ../ $ git show-branch
Clone from upstream while borrowing from an existing local directory:
$ git clone --reference my2.6 \ git://git.kernel.org/pub/scm/.../linux-2.7 \ my2.7 $ cd my2.7
Create a bare repository to publish your changes to the public:
$ git clone --bare -l /home/proj/.git /pub/scm/proj.git
Create a repository on the kernel.org machine that borrows from Linus:
$ git clone --bare -l -s /pub/scm/.../torvalds/linux-2.6.git \ /pub/scm/.../me/subsys-2.6.git
❸ 用ssh方式git clone,能不每次都輸密碼嗎
當然可以啦,方法有二:
1、你將用戶名密碼放到遠程鏈接上,比如
git clone ssh://user:pssword@url
其中user是你的賬號
password是你的密碼
url是遠程git庫地址
2、你可以使用密鑰
即在你的客戶端放上SSH私鑰,這樣每次連接遠程git庫,不論是pull push還是fetch clone 都無需輸入密碼。
❹ git怎麼把遠程倉庫跟本地連接
第一步我們要創建遠程倉庫讓別人連接。需要打開遠程連接。找到系統偏好設置。找到花紅圈的共享按鈕,點擊。
然後看到有遠程連接選項,在允許訪問這,我們選擇所有用戶。然後保存。現在我們需要進行終端部分了。
點擊桌面右上角的放大鏡,搜索終端,找到後打開。
首先創建一個空的倉庫,分別再終端中敲mkdir
jj回車 再敲cd jj回車 再敲ls 回車,再敲git init回車。就可以創建完成一個空的倉庫了。如果用git --bare init
--shared group來聲明就可以變為一個可以遠程推送的伺服器了。但下面的第5、6步就不需要了。我們只需要克隆下來使用即可。這
裡面還有點小問題,需要自己摸索咯。
我們再這個本地倉庫中創建一個txt格式的文件,文件中的內容為our first git repository,代碼添加如圖所示,成功後會顯示create mode 100644,如圖所示。
本地倉庫建成之後,在本地倉庫添加一個遠程倉庫,並將本地的master分支跟蹤到遠程分支。
這兒輸入時要特別注意。
origin 遠程倉庫名
ssh://192.168.100.103/~/jj/.git這個ssh是你本地的ip地址,格式要和我這一樣,雙斜杠,冒號等、
輸入密碼後,出現
Everything up-to-date
證明成功了。
另一台機器上驗證一下,打開終端,輸入git clone origin ssh://192.168.100.103/~/jj/.git即可。我的遠程倉庫是origin你們的是啥,自己更改。
按回車後出現
Cloning into jj...
證明成功了。
❺ 如何從windows命令行中訪問ssh發布的hg倉庫
第一,下載並安裝git
目前windows版本的git有幾種實現,但我們選擇msysgit發行版,這是目前做得兼容性最好的。
使用默認配置安裝Git。這個不用多說,一路Next就可以,如果對各種選項不熟悉,建議使用默認配置,沒問題的。
第二,創建github賬號
什麼是Git和GitHub
Git —The stupid content tracker, 傻瓜內容跟蹤器,是一個由Linux內核開發者Linus為了更好地管理Linux內核開發而創立的分布式版本控制軟體。
GitHub — 學生做版本控制最討厭的就是找伺服器,配置太麻煩了。GitHub這個網站為每個用戶提供伺服器託管其Git代碼庫,免費空間為300M。注冊GitHub後你就會有0.3G的免費空間,不過只能創建公開項目。
為什麼不選CVS或SVN
Git提交/克隆/pull/push的速度更快
Git的絕大多數操作都可以在本地完成,不需要頻繁連接伺服器。
注冊GitHub賬號
GitHub網址在 這里
點擊上方導航條的Signup and Pricing即可進入注冊界面, 選擇注冊免費賬戶
GitHub選擇的默認通信方式是SSH,所以要先在Git裡面生成SHH Key,打開Git Bash在其中輸入如下命令:
ssh-keygen -t rsa -C "[email protected]"
之後會讓你選擇是否對存放SSH Key的文件夾進行加密,一般都不需要的。一路回車,就OK了。
在c盤,當前用戶文件夾下,有個.ssh 文件夾,在里邊 找到 id_rsa.pub文件,用記事本打開,復制其中的全部內容。
登陸你的GitHub賬戶,依次點擊Account Settings > SSH Public Keys > Add another public key,把id_rsa.pub中的內容拷貝進去 。
至此,基本的設置已經完成了。
成了。
測試你的Git
經過上述配置,你的Gti應該可以通過SSH連接GitHub伺服器了,讓我們來測試下,輸入如下命令:
會給你這樣的提示:
輸入yes,會顯示:
到這里,說明你的SSH運轉良好。
如果提示你的密鑰不正確,那麼你需要重新確認上一步的操作是否完整無誤。
第三,建立本地git倉庫
首先,git要求使用者必須提供自己的身份標識,為此我們需要在git bash中執行以下命令:
git config --global user.name 'aa.Tessst'
git config --global user.email [email protected]
其次,選擇git倉庫目錄
我們假設將git倉庫目錄放在D盤的OPENSource目錄下,可以通過在git bash中執行以下命令完成:
cd /d
mkdir OPENSource
註:git bash支持大多linux bash終端命令,你可以自己嘗試更多終端操作。
最後,建立項目並初始化git倉庫
我們的第一個項目是一個使用Python語言將XML文件轉換成Python字典,通過執行以下命令完成此步驟:
mkdir Python-XML2Dict
cd Python-XML2Dict
git init
執行此操作後,git將在Python-XML2Dict目錄下創建一個隱藏目錄(.git),這個目錄就是git用來管理軟體版本的倉庫。
第四,使用git管理項目
此步 和 在linux 上 使用 git 的 方法一樣,具體參考 我的 其他 博文!
第五,將項目提交到github管理,gitpush
如果 第二步 測試無錯,那麼 經過 以下兩步 就可以將本地的文件提交到github倉庫了。
1、登錄GitHub後,你可以在右上邊靠中那裡找到一個按鈕「creat a New Repository」,點擊過後,填入項目名稱、說明等 過後就可以創建了,然後會出現一個提示頁面,記下類似 [email protected]:XXX/XXX.git 的地址,這個就是你這個項目的地址了。
2、
1 git remote add origin [email protected]:XXX/XXX.git
2 git push -u origin master //把本地 master 分支 推送到 伺服器的master分支上,如果伺服器沒有此分支,就 新建 此分支。這也是 在伺服器上新建分支的一種方法
這個[email protected]:XXX/XXX.git就是上面創建項目是生成的地址。現在打開你的項目網址,你就可以發現你的代碼已經展示出來了。
第六,直接 用 git pull 將項目 從 github 上 同步 下來
有兩種方法:
1、當git clone之後,直接git pull它會自動匹配一個正確的remote url
是因為在config文件中配置了以下內容:
1 [branch "master"]
2 remote = origin
3 merge = refs/heads/master
表明:
1.git處於master這個branch下時,默認的remote就是origin;
2.當在master這個brach下,使用指定remote和merge的git pull時,使用默認的remote和merge。
2、但是對於自己建的項目,並沒有這塊內容,需要自己配置。
1 git remote add -f origin [email protected]:/srv/git/project.git //若是 執行過 第五步,那麼 這一句 就 不用了
2 git config branch.master.remote origin //這一步 設置: 把 master 分支上 的 默認伺服器地址 設為 origin指向的地址
3 git config branch.master.merge refs/heads/master //這一步 設置:如果當前分支是 master 分支,那麼 git pull之後,直接 把 「從 origin 下載 下來的 code合並到 master分支上「
或者加上--global選項,對於全部項目都使用該配置。
建議:用第二種 方法,因為 如果 是 git clone的 項目,當 執行 git push 時,因為 在 git config里 url 是 只讀方式
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/xxx/xxx.git
//[email protected]:XXX/XXX.git 這才是 讀寫方式
---------------------------------
如果提交了敏感信息,比如代碼中設置的自己的密碼什麼的忘刪除就上傳上去了怎麼辦?
有兩個方法:
1、重新修改本地代碼,然後提交到伺服器(覆蓋),
2、直接登錄 github 刪除之前的項目。刪除項目需要在GitHub網站上右上方找到admin按鈕,進去後右邊最下面有個刪除的按鈕,這樣就可以刪除了。
--------------------------
若是一個項目就託管在 GitHub 上。你可以把它的 URL 分享給每位對此項目感興趣的人。本例的 URL 是http://github.com/testinguser/iphone_project。而在項目頁面的摘要部分,你會發現有兩個 Git URL 地址,見 右圖:
右圖的 摘要中的公共 URL 和私有 URL
Public Clone URL 是一個公開的,只讀的 Git URL,任何人都可以通過它克隆該項目。可以隨意散播這個 URL,比如發布到個人網站之類的地方等等。
Your Clone URL 是一個基於 SSH 協議的可讀可寫 URL,只有使用與上傳的 SSH 公鑰對應的密鑰來連接時,才能通過它進行讀寫操作。其他用戶訪問該項目頁面時只能看到之前那個公共的 URL,看不到這個私有的 URL。
❻ 為什麼git不能通過ssh連接伺服器上
Git沒有客戶端伺服器端的概念,但是要共享Git倉庫, 就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。
❼ 本地有兩個不同庫的git怎麼設置ssh
您好,很高興為您解答。免密碼訪問git庫 ,windows用戶目錄下創建_netrc ,非windows用戶目錄下 創建 .netrc,設置許可權600 machine login usernamepassword password如若滿意,請點擊右側【採納答案】,如若還有問題,請點擊【追問】希望我的回答對您有所幫助,望採納! ~ O(∩_∩)O~
❽ 騰訊工蜂如何通過ssh訪問git
Git 可以使用四種主要的協議來傳輸數據:本地傳輸,ssh 協議,Git 協議和 HTTP 協議。
Git 使用的傳輸協議中最常見的就是 ssh 了。大多數環境已經支持通過 ssh 對伺服器的訪問 ,ssh 也是唯一一個同時支持讀寫操作的網路協議。另外兩個網路協議(HTTP 和 Git)通常都是只讀的。ssh 同時也是一個驗證授權的網路協議;而因為其普遍性,一般架設和使用都很容易。具體配置請參照網頁鏈接
❾ windows下的git服務怎麼從外部訪問
Git沒有客戶端伺服器端的概念,但是要共享Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。 一、安裝GIT Windows下使用msysgit, 本文使用Git-1.7.8-preview20111206.exe 安裝要點步驟 安裝完成後,可以使用Git bash在命令行模式下操作git 二、安裝CopSSH 安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。 CopSSH是windows下的SSH伺服器軟體,下載地址之,本文使用的是Copssh_4.1.0_Installer.exe, 安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。 將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式 若是不允許密碼認證,則需要使用公鑰密鑰方式認證, 三、CopSSH中使用GIT 現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制...
❿ gitbash怎麼用ssh連接git私服倉庫
1. 架設Git伺服器 我們以Ubuntu為例。首先,在git伺服器上創建一個名為 'git' 的用戶,並為其創建一個.ssh 目錄。並將其許可權設置為僅git用戶有讀寫許可權 $ sudo adser git $ su git $ cd $ mkdir .ssh $ chmod 700 .ssh 接下來,把開發者的 SSH.