Git是分布式版本控制系統(tǒng),即管理中心可分布,版本庫不局限于一臺中央服務(wù)器,每個參與者電腦都是完整的版本庫
設(shè)置版本庫
Windows系統(tǒng)為了避免遇到莫名其妙的問題,目錄名(包括父目錄)需不包含中文
git init
沒有看到.git目錄棚壁,那是因為這個目錄默認是隱藏的,用ls -ah命令就可以看見
Git賬戶:
Git安裝完成后栈虚,設(shè)置賬戶
git config --global user.name "Your name"
git config --global user.email "email@example.com"
--global參數(shù)表示該機器上所有倉庫的操作都經(jīng)由這個賬戶
對某個倉庫指定賬戶
git config user.name "github Name"
git config user.email "[github@xx.com](mailto:gitlab@xx.com)"
git config --list
git config --list查看當前配置, 在當前項目下面查看的配置是全局配置+當前項目的配置, 使用的時候會優(yōu)先使用當前項目的配置
生成ssh key:
ssh-keygen -t rsa -C 'mail@gmail.com'
生成key值時袖外,輸入文件名,可生成多個key值魂务,鏈接多個賬戶
工作區(qū)和版本庫
image
本地資源管理器相當于工作區(qū)曼验,.git文件夾即版本庫泌射,當中又區(qū)分暫存區(qū)和分支線
add每次只能操作一個文件,commit一次可提交多個文件
git diff:未add前鬓照,查看文件的修改項
git add:將文件添加到暫存區(qū)中
git commit -m "xxxx":提交暫存區(qū)中的文件到倉庫熔酷,-m為提交注釋
git status:查看倉庫當前狀態(tài)
git push:將本地項目提交到遠程倉庫GitHub。
查看提交記錄
git log:查看提交記錄
git log --pretty=oneline:逐行顯示提交記錄
撤銷工作區(qū)修改
git checkout -- file.xx:file指文件名
版本更替
git reset --hard HEAD^:回退至上一個版本豺裆,^代表一個版本
git reset --hard commit_id:版本穿梭,ID不必寫全拒秘,可匹配就行,5位...
git reset HEAD file.xx:撤銷暫存區(qū)修改
刪除文件
rm filename:刪除文件&&刪除不可commit提交--- git commit -am "XXX"
git rm filename:刪除文件臭猜,對象只能是文件&&刪除操作可commit提交
git rm -r/rf filename:-r 刪除指定目錄下所有文件和子目錄躺酒;-f 強制刪除文件或目錄
查看提交日志
git log
git log --pretty=online
git diff HEAD -- filename.xx:查看對應文件工作區(qū)和版本庫中最新版本區(qū)別(只能查看文件)
遠程倉庫
git remote add origin git@github.com:michaelliao/learngit.git:將本地倉庫和遠程關(guān)聯(lián)
git clone xxx:拉取遠程倉庫至本地
git push origin master:推送修改至遠程
添加驗證私鑰
ssh -v [git@github.com](mailto:git@github.com)
eval $(ssh-agent): 提示 "Could not open a connection to your authentication agent."
ssh-add ~/.ssh/<private_key_file>:添加私鑰