close

在Windows上安裝遇到很多問題,只好寫下來了

local端 win8 x86

server端 WinServer 2008 x64

在server端

安裝 Git-1.8.4-preview20130916.exe

我的安裝目錄在 D:/Git

然後開始一直下一步安裝,其中Adjusting your PATH environment 選擇 Run Git from the Windows Command Prompt

git on windows  

安裝 copssh_4.0.1_installer.exe

安裝目錄 D:/copSSH

安裝完成後,開啟COPSSH Control Canpel

顯示 service is running 表示成功

也可用 cmd 查詢 22 port 是否啟用

netstats -na | find ":22"

cmd22port  

頁籤選擇 Users 新增 ssh 登入使用者

我自己是新建一個Windows帳號 git,並已經加入,所以下拉選單沒有出現 git

addsshuser  

 如果需要 Sftp 就選擇 Linux shell and Sftp,不用勾選 Allow password authentication

sshuser  

完成後在 copssh/home/ 底下會出現你新增的使用者資料夾

接下來建立ssh使用git等功能 git.exe, git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe

開啟 copssh->Start a unix bash shell

輸入

$ cd Bin

$ ln -s /cygdrive/d/Git/bin/git.exe git.exe

$ ln -s /cygdrive/d/Git/libexec/git-core/git-receive-pack.exe git-receive-pack.exe

$ ln -s /cygdrive/d/Git/libexec/git-core/git-upload-archive.exe git-upload-archive.exe

$ ln -s /cygdrive/d/Git/libexec/git-core/git-upload-pack.exe git-upload-pack.exe

我的Git是建立在D槽,如果是使用預設路徑則要輸入 /cygdrive/c/Program\ Files/Git (空格前要加 "\")

注意:不能建立在C:\Program Files (x86)\,因為輸入後會出現 "(" 的錯誤

 

 

開啟 Git bare

在 /copssh/home/帳號/ 底下建立版本庫

$ cd /d/copssh/home/git/  (我的SSH建立D槽,帳號是git)

$ mkdir mis.git (我的版本庫是mis)

$ cd mis.git

$ git init --bare

將 work tree 移到web 資料夾

$ vi mis.git/hooks/post-receive

輸入

#!/bin/bash
GIT_WORK_TREE=/cygdrive/d/AP git checkout -f

#我的web DocumentRoot建立在D槽的AP資料夾,cygdrive一定要打

完成

 

在local端

安裝 Git-1.8.4-preview20130916.exe 

開啟 Git Bare 建立.ssh資料夾

$ cd /c/users/你的帳號/

$ mkdir .ssh

 

用 puttygen.exe 建立自己的金鑰 (怎麼建立請google吧!)

將 public key 複製到 server端的 copssh/home/帳號/.ssh 底下,並修改名稱為 authorized_keys

ssh dir

將private key 存入 C:/Users/你的帳號/.ssh,並修改名稱為 id_rsa

mykey  

開啟Git Bare 到本機的web資料夾下建立版本庫

$ cd /d/htdocs/mis (我的DocumentRoot建立在D槽)

$ git init

建立遠端連線,編輯 config

$ vi .git/config

輸入

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    url = git@10.10.3.248:/copSSH/home/git/mis.g
    fetch = +refs/heads/*:refs/remotes/origin/*
    puttykeyfile = C:\\Users\\你的帳號\\.ssh\\id_rsa

輸入完成,測試連線

$ ssh git@SERVER_IP (git是在server端建立的帳號)

出現 帳號@SERVER電腦名稱 表示成功

拉回或推送代碼

$ git pull origin master (or push)

完成

 

 

 

arrow
arrow
    全站熱搜

    alsnow 發表在 痞客邦 留言(0) 人氣()