1,在本地生成key: ssh-keygen -t rsa -c "***[email protected]"
2,把生成的/home/zhuyi/.ssh/id_rsa.pub中全部內容複製, 貼上到github**上add key
3,測試連線:ssh -t [email protected]
4,配置本地git:
git config --global user.name "july11"
git config --global user.email "***[email protected]"
如果為本地git庫配置多使用者,那麼這裡就不能設定global的
要在每個git庫目錄下配置對應的使用者:
git config user.name "july11"
5,本地git配置多使用者
乙個host乙個key,注意第二個ssh-keygen時key file不能使用預設的名字,我設第二個為gitosc
如果是只有github託管,有多個github帳號,則可將第二個使用者的設定改為:host 修改.ssh目錄下的config, 設定多個host,這裡是多使用者多個託管位址,在github和gitosc分別託管專案。
host github.com
hostname github.com
user git
identityfile ~/.ssh/id_rsa
host git.oschina.net
hostname git.oschina.net
user git
identityfile ~/.ssh/gitosc
如果只是在github上託管,有多個帳號,則把第二個的設定改一下:host two.github.com
修改第二個帳號的git庫配置:
it remote rm origin
git remote add origin [email protected]:[name2]/two.github.com.git
詳細參考:
6,clone乙個project到本地:
git clone [email protected]:july11/july11.github.com.git
修改git專案根目錄下的.git資料夾下的config檔案:
[remote "origin"]
url = [email protected]:suyan/suyan.github.io.git
fetch = +refs/heads/*:refs/remotes/origin/*
7,提交乙個版本, 遠端倉庫沒有修改的情況
檢視本地git庫修改狀態: git status
新增所有修改的檔案: git add .
提交: git commit -m "change log"
push到遠端主幹: git push origin master
8, 遠端倉庫已修改的情況
git push時提示有衝突
先從遠端庫拉乙份最新的: git pull
檢視衝突: git status
8.1 手動解決衝突:
開啟衝突檔案 head<<< 到 === 之間是本地的修改, === 到 >>> 之間是遠端倉庫的修改
手動修改後, 去掉這些標記
8.2 用mergetool
9, 解決衝突後的提交:
合入主幹(merge): git commit -a
把修改後的檔案新增: git add
提交本地倉庫: git commit -m ""
push到遠端主幹: git push origin master
工具: gitk 檢視status
工具: mergetool在介面中解決衝突
10, 分支相關
檢視本地當前分支: git branch
檢視本地和遠端所有分支: git branch -va
切換到乙個遠端分支: git checkout -t origin/
11, 撤銷提交
git push時提示有大檔案不能上傳
remote: warning: large files detected.
remote: error: file featureextract/scactm/bow_test_sca.txt is 173.91 mb; this exceeds git@osc's file size limit of 100 mb
remote: error: hook declined to update refs/heads/master
檢視提交日誌:git reflog
1118157 head@: commit: update to support folder vocabulary
6abbb56 head@: commit: code on bigdisk upgraded to add folder vocabulary
263473a head@: clone: from
要回退到head 2:
git reset head~2
再重新add, commit,push
12, 忽略檔案或資料夾
在倉庫根目錄下 vi .gitignore
新增如下內容:
/data
/bin
儲存即可
13, 本地已有專案
進入本地專案根目錄下:
cd proj
git init
git remote add origin [email protected]:july/proj.git
vim .gitignore #新增要忽略提交的目錄或檔案
git add src/ #新增要提交到遠端倉庫的檔案
git commit -a -m "first commit"
git pull origin master
git push origin master
git簡單配置和常用命令
設定git的username和email git config global user.name xuhaiyan git config global user.email haiyan.xu.vip gmail.com 生成ssh密匙 檢視是否已有ssh密匙 cd ssh 如果沒有則顯示沒有此檔案...
Git常用命令及配置
git是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端軟...
GIT 配置及常用命令
git配置 git 全域性設定 git config global user.name username git config global user.email youemail 建立 git 倉庫 mkdir ex623 cd ex623 git init touch readme.md git...