git配置和常用命令

2021-07-10 02:46:55 字數 2991 閱讀 7679

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...