概念
Git是一個(gè)分布式的版本控制工具竿秆,區(qū)別于集中式管理的SVN。
優(yōu)勢(shì)
1稿壁、每個(gè)開(kāi)發(fā)者都擁有自己的本地版本庫(kù)幽钢,可以在本地任意修改代碼、創(chuàng)建分支傅是,不會(huì)影響到其他開(kāi)發(fā)者的使用匪燕;
2、所有版本信息均保存在.git目錄下喧笔,完整克隆中心版本庫(kù)帽驯;
3、切換分支迅速书闸,方便合并尼变,合并速度快于SVN;
4浆劲、分布式版本庫(kù)嫌术,無(wú)單點(diǎn)故障。
常用命令
git init 初始化git倉(cāng)庫(kù)
git config --list 查看本地倉(cāng)庫(kù)配置信息
git config --global user.name "輸入你的用戶名"
git config --global user.email "輸入你的郵箱"
git config --global --replace-all user.email "輸入你的郵箱"
git config --global --replace-all user.name "輸入你的用戶名"
git branch 查看當(dāng)前分支
git add 'filename' 添加文件到暫存區(qū)
git status 查看git倉(cāng)庫(kù)狀態(tài)
git commit -a -m 'remark' 提交倉(cāng)庫(kù)變動(dòng)到分支
git stash 將當(dāng)前未提交的改動(dòng)保存到堆棧中
git stash pop stash@{num} 恢復(fù)指定num的改動(dòng)
git pull 拉取遠(yuǎn)程代碼到本地分支
git push 推送本地代碼到遠(yuǎn)程分支
git fetch 拉取遠(yuǎn)程所有分支代碼到本地倉(cāng)庫(kù)
git reset --hard origin/master 拉取遠(yuǎn)程master分支代碼強(qiáng)制覆蓋到本地
git merge --no-ff 'branch' 合并某個(gè)分支到當(dāng)前分支
git diff otherBranchName 和另一個(gè)分支進(jìn)行比較(列出具體的差異)
git diff --name-only?otherBranchName?和另一個(gè)分支進(jìn)行比較(僅列出存在差異的文件名)
git diff HEAD^ 和當(dāng)前分支的上一個(gè)commit比較(列出具體的差異)
git diff --name-only HEAD^ 和當(dāng)前分支的上一個(gè)commit比較(僅列出存在差異的文件名)
git diff HEAD^ fileName 某個(gè)具體的文件和當(dāng)前分支的上一個(gè)commit比較(列出具體的差異)
注:
HEAD 當(dāng)前最新commit
HEAD^ 上一個(gè)commit
HEAD^^ 上上個(gè)commit
HEAD~N (N為整數(shù)) 前N個(gè)commit
也可以是具體的commitid值