不會使用git工具的程式設計師不是一位合格的程式設計師。
使用git,首先在github上註冊有賬號:
同時在本地安裝有git:
配置git
首先在本地建立ssh key;
$ ssh-keygen -t rsa -c "[email protected]"
後面的[email protected]改為你在github上註冊的郵箱,之後會要求確認路徑和輸入密碼,我們這使用預設的一路回車就行。成功的話會在~/下生成.ssh資料夾,進去,開啟id_rsa.pub,複製裡面的key。
回到github上,進入 account settings(賬戶配置),左邊選擇ssh keys,add ssh key,title隨便填,貼上在你電腦上生成的key。
為了驗證是否成功,在git bash下輸入:
$ ssh -t [email protected]
如果是第一次的會提示是否continue,輸入yes就會看到:you've successfully authenticated, but github does not provide shell access 。這就表示已成功連上github。
接下來我們要做的就是把本地倉庫傳到github上去,在此之前還需要設定username和email,因為github每次commit都會記錄他們。
$ git config --global user.name "your name"
$ git config --global user.email "[email protected]"
$ git remote add origin [email protected]:yourname/yourrepo.git
後面的yourname和yourrepo表示你再github的使用者名稱和剛才新建的倉庫,加完之後進入.git,開啟config,這裡會多出乙個remote "origin"內容,這就是剛才新增的遠端位址,也可以直接修改config來配置遠端位址。
建立新資料夾,開啟,然後執行 git init 以建立新的 git 倉庫。
檢出倉庫
執行如下命令以建立乙個本地倉庫的轉殖版本:
git clone /path/to/repository
如果是遠端伺服器上的倉庫,你的命令會是這個樣子:
git clone username@host:/path/to/repository
接下來就是工作流了。
首先使用終端命令
$pwd 顯示當前目錄
$ ls 當前目錄下的檔案
$ cd "你的檔名" 開啟你的修改檔案
$ git init 初始化
$ git status 檢視修改的檔案
$ git add . (後面的點不要忘記)將修改的檔案提交到快取區 (或git add )
$ git diff 檢視檔案詳細修改
$ git commit 提交命令 (或 git commit -m "**提交資訊")
$ git push origin master 可以把 master 換成你想要推送的任何分支
如果你還沒有轉殖現有倉庫,並欲將你的倉庫連線到某個遠端伺服器,你可以使用如下命令新增:
$ git remote add origin
如此你就能夠將你的改動推送到所新增的伺服器上去了。
分支分支是用來將特性開發絕緣開來的。在你建立倉庫的時候,master 是"預設的"分支。在其他分支上進行開發,完成後再將它們合併到主分支上。
建立乙個叫做"feature_x"的分支,並切換過去:
git checkout -b feature_x
切換回主分支:
git checkout master
再把新建的分支刪掉:
git branch -d feature_x
除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的:
git push origin
更新與合併
要更新你的本地倉庫至最新改動,執行:
git pull
以在你的工作目錄中 獲取(fetch) 並 合併(merge) 遠端的改動。
要合併其他分支到你的當前分支(例如 master),執行:
git merge
在這兩種情況下,git 都會嘗試去自動合併改動。遺憾的是,這可能並非每次都成功,並可能出現衝突(conflicts)。 這時候就需要你修改這些檔案來手動合併這些衝突(conflicts)。改完之後,你需要執行如下命令以將它們標記為合併成功:
git add
在合併改動之前,你可以使用如下命令預覽差異:
git diff
標籤為軟體發布建立標籤是推薦的。這個概念早已存在,在 svn 中也有。你可以執行如下命令建立乙個叫做 1.0.0 的標籤:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要標記的提交 id 的前 10 位字元。可以使用下列命令獲取提交 id:
$ git log
你也可以使用少一點的提交 id 前幾位,只要它的指向具有唯一性。
替換本地改動
假如你操作失誤(當然,這最好永遠不要發生),你可以使用如下命令替換掉本地改動:
$ git checkout --
$git fetch origin
$git reset --hard origin/master
實用小貼士
內建的圖形化 git:
$gitk
彩色的 git 輸出:
$git config color.ui true
顯示歷史記錄時,每個提交的資訊只顯示一行:
$git config format.pretty oneline
互動式新增檔案到暫存區:
$git add -i
github 簡明指南:
如何高效利用github:
git的使用命令
對於已經提交過的檔案,gitignore沒有效果的,這種要使用 git update index assume unchanged file path 取消使用 git update index no assume unchanged file path 8 git config global ai...
git的使用命令
git archive format zip output test.zip master 0 將專案的 通過上述命令打包壓縮為test資料夾 ssh keygen 生成公鑰 vi gitconfig修改使用者資訊 git remote set url origin remote git addre...
Git使用命令
初始化本地git倉庫 git init宣告遠端倉庫路徑 git remote add origin 你的遠端專案位址 檢視倉庫位址 git remote v如果結果是正確的則跳過下面的 git remote rm origin 刪除當前連線 git remote add origin xx.git ...