git安裝步驟與配置
1.安裝git
2.執行命令
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
# 用於配置全域性的使用者名稱和郵箱,最好和登陸github/gitlab的郵箱一致
3.生成ssh key
ssh-keygen -t rsa -C xxxxx@gmail.com #(註冊github時的email)
4.測試是否跟github賬號連上
ssh -T git@github.com
# 提示:Hi XXX! You`ve successfully authenticated, but GitHub does not provide shell access.
常用命令區
1.將當前目錄下所有檔案新增到本地倉庫
git add . #新增所有的檔案、資料夾
git add <file> #新增指定名稱的檔案,<>內部寫檔案全稱
#注:如果檔案沒有做出任何修改,則預設不會新增任何檔案
2.提交
git commit
git commit -m `備註`
3.給專案設定遠端遠端倉庫
git remote add origin http://git.oschina.net/***/***.git
4.抓取遠端倉庫資料,並自動合併遠端分支
git pull origin master
5.更新本地資料到Git@OSC
git push origin master
6.查詢提交狀態
git status
# 顯示提交的狀態:
# 已經新增,等待提交事務的檔案(綠色字型表示);
# 已經改變但是沒有新增(not staged)的檔案(紅色字型表示);
7.查詢該檔案和git倉庫中的檔案的區別,即做了什麼修改
git diff <檔案全稱>
# 如果已經add了,就列印不出有什麼修改了,這一步驟應該在add之前,即新增之前可以用來看看做了什麼修改
。
8.列印歷史記錄
git log
Commit xxx #commit id 版本號
Author:xxx<xxx@xxx.com> #提交人和郵箱
Date:xxx #提交的時間
XXXXXXXXXXXXXX #提交的資訊(所以說,提交資訊很重要!!!)
9.顯示整個檔案的內容
cat <檔案全名稱>
10.版本回退
$ git reset --hard head^
在Git中,HEAD表示當前版本,就是最新提交的版本,即使用git log列印出來的位於第一位的版本,上一個版本就是HEAD^,上上個版本就是HEAD^^,
當前向上100個可以寫成HEAD~100。
當然,還有一種方式就是直接使用commit id來代替HEAD^,比如版本號是cadab353589f3eef075817b890dafe8b722d802b,
那麼就可以直接使用命令:
$ git reset --hard cadab353589f
使用前幾位表示即可,git會自動查詢
==注==:版本回退以後,使用git log列印的歷史記錄都是回退版本之前的資料,之後的都沒有了,不過放心,git總有後悔藥可以吃噠~
- 1.如果命令列視窗沒有關閉,直接去前面找commit id即可;
- 2.如果命令列視窗關閉了,或者第二天後悔了,可以進入到該目錄下,使用git reflog命令來檢視以前的每一次命令,可以獲得每次提交的commit id,就可以版本回退了。
$ git reflog
可以檢視命令歷史,包含提交的commit id
錯誤記錄
錯誤1:執行git pull命令報錯,具體報錯為:refusing to merge unrelated histories
原因:本地跟遠端倉庫中的程式碼存在不相干的檔案
解決辦法:
# (1) 執行命令:
git pull origin master --allow-unrelated-histories #更新master分支同步到本地;
#(2) 執行命令:
git commit #提交變化;
#(3) 執行命令:
git push origin master:master
# 直接push推送本地專案到遠端倉庫分支了。
# 格式:git push <遠端主機名> <本地分支名>:<遠端分支名>