/*
* 查看記錄後怎麼繼續操作(無法輸入命令) -- ctrl + z
* 怎麼默認遠程版本庫目錄路徑和配置git命令的別名, 而不會重啓Bash後重置
* 後期打標籤, 沒怎麼看
* git fetch, 在git log中也看不到結果
* 配置文本編譯器, 沒看到作用
*/
配置用戶信息(會保存於 C:\Users\Administrator .gitconfig)
git config --global user.email "[email protected]"
git config --global user.name "quper"
配置git命令的別名
git config --global alias.last 'log -1'
git last // 查看最後一次提交
git config --global alias.cm 'commit -m '
git cm '提交描述' // 提交
git config --global alias.rh 'reset head --'
git rh a.txt // 取消暫存
配置文本編譯器
#!/bin/sh
"D:\Sublime Text 3\sublime_text.exe" -multiInst -notabbar -nosession -noPlugin "$*"
上面的代碼保存成npp.bat
git config --global core.editor npp.bat的路徑
查看配置信息
git config --list
創建版本庫(倉庫/repository)
cd E:\mygit // 確認版本庫目錄
git init // 初始化版本庫(將在版本庫目錄下創建.git文件夾, 用來跟蹤管理版本庫)
git --bare init // 初始化遠程版本庫, 避免push分支衝突
操作版本庫前, 要確認版本庫目錄(cd 路徑[.git parent]), 否則默認 C:\Users\系統用戶名
在關閉Bash前, git會記錄版本庫目錄
pwd // 顯示當前版本庫目錄
克隆遠程版本庫
git clone https://github.com/libgit2/libgit2
git remote add my_git /e/mygit/.git // 指定遠程版本庫的簡寫my_git
git remote // 查看遠程版本庫的簡寫, 其中origin爲克隆的最初版本庫
git remote -v // 查看遠程版本庫的詳細信息
git remote show my_git // 查看遠程版本庫的更多信息
git remote rename my_git you_git // 重命名遠程版本庫的簡寫
git push my_git // 推送到遠程版本庫
git reset --hard // 查看推送內容
git fetch my_git // 更新遠程版本庫數據
git pull my_git // 拉去遠程版本庫數據, 自動合併
版本庫添加, 移除, 移動文件
git add a // 可分多步添加文件(不能提交一個空的文件夾)
git add b.txt c.txt // 可一步添加多個文件
git commit -m '提交描述' // 提交到版本庫(還沒提交前add, rm, mv的操作都被暫存)
git status // 查看暫存
git status -s // 查看簡化暫存
git reset head a.txt // 取消commit前操作
git reset --hard head~1 // 取消上一個commit操作
git checkout -- a.txt // 在commit前回退到add/rm/mv等操作後修改的文件, 丟失修改的內容
git diff // 查看未暫存但改動的文件與.git裏的文件的比對
git rm a.txt // 移除文件
git rm a -r // 移除文件夾
git rm --cached b.txt // 只移除.git裏的文件
git mv b.txt a // 移動文件到文件夾
查看提交歷史
git log
git log -p // 顯示提交內容的差異
git log -p 2 // 顯示最近2次提交
撤銷最後一次的提交, 並重新提交
git commit -m ' '
git add a.txt
git commit --amend
忽略文件
touch .gitignore // 創建忽略文件
git config --global core.excludesfile ~/.gitignore // 全局忽略文件
打開.gitignore, 編譯規則, 如*.[txt], 忽略以.txt後綴的文件
標籤
git tag -a v1.1 -m 'my version ' // 創建附註標籤
git tag v1.2 // 創建輕量標籤
git tag // 列出標籤
git show v1.1 // 列出附註標籤的詳細信息
git push origin v1.1 // 推送指定標籤到遠程版本庫
git push origin --tags // 推送所有標籤到遠程版本庫
git checkout -b v2 v1.1 // 同步服務器版本並命名爲v2
生成密鑰
ssh-keygen -t rsa -C '[email protected]' // 3個回車, C:\Users\Administrator下生成.ssh文件