創(chuàng)建版本庫(kù)
mkdir <file> (創(chuàng)建空目錄)
cd <file> (將已有的文件夾用Git管理可以忽略上一步)
pwd
git show
cat <file>查看文件內(nèi)容
git init 初始化當(dāng)前目錄為Git可以管理的倉(cāng)庫(kù)
git add <file> 把文件添加到暫存區(qū)
git commit -m"本次的提交說(shuō)明" 提交文件(可以將暫存區(qū)的所有文件全部提交剧浸,如果修改的文件沒(méi)有被添加到暫存區(qū)锈锤,那么不會(huì)被提交)
git status 查看狀態(tài)(若被修改,可以使用 git add <file>將其添加或git checkout -- <file>將其還原)
git diff <file> 查看文件上一次修改的內(nèi)容
git log 查看文件修改歷史 (顯示的方式是從最近到最遠(yuǎn)允华,在后面加入?yún)?shù)--pretty=oneline可以稍微方便觀看)
git reset --hard HEAD~數(shù)字(回到幾個(gè)版本前數(shù)字就填幾汹粤,數(shù)字的地方也可以直接寫(xiě)上版本號(hào)能直接回到該版本的地方) 版本重置
git reflog 記錄了你的每一次命令
刪除文件
⒈rm <file>
⒉git rm <file>
⒊git commit -m"remove xxx"
分支管理
查看分支:git branch
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>
創(chuàng)建+切換分支:git checkout -b <name>
合并某分支到當(dāng)前分支:git merge <name>
刪除分支:git branch -d <name>
如果分支和主線沖突了需要打開(kāi)文件手動(dòng)去改
git log --graph --pretty=oneline --abbrev-commit:看到分支合并情況;只使用git log --graph能看到很詳細(xì)的分支合并過(guò)程贱除。
當(dāng)手頭工作沒(méi)有完成時(shí)又需要去完成其他工作尚氛,那么用git stash將當(dāng)前工作現(xiàn)場(chǎng)進(jìn)行保存贩疙,當(dāng)處理完其他工作后讹弯,使用git stash pop恢復(fù)現(xiàn)場(chǎng)
如果要丟棄一個(gè)沒(méi)有被合并過(guò)的分支,可以通過(guò)git branch -D <name>強(qiáng)行刪除这溅。
查看遠(yuǎn)程庫(kù)信息 git remote -v
推送分支到遠(yuǎn)程倉(cāng)庫(kù) git push origin master(推送到主分支组民,將master改為dev則是推送dev等其他分支)
多人協(xié)作的工作模式通常是這樣:
1.首先,可以試圖用git push origin branch-name推送自己的修改悲靴;
2.如果推送失敗臭胜,則因?yàn)檫h(yuǎn)程分支比你的本地更新,需要先用git pull試圖合并对竣;
3.如果合并有沖突庇楞,則解決沖突,并在本地提交否纬;
4.沒(méi)有沖突或者解決掉沖突后吕晌,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”临燃,則說(shuō)明本地分支和遠(yuǎn)程分支的鏈接關(guān)系沒(méi)有創(chuàng)建睛驳,用命令git branch --set-upstream branch-name origin/branch-name烙心。
這就是多人協(xié)作的工作模式,一旦熟悉了乏沸,就非常簡(jiǎn)單淫茵。
標(biāo)簽管理
1:創(chuàng)建標(biāo)簽:git tag <name>用于創(chuàng)建標(biāo)簽;
git tag -a <tagname> -m "blablabla..."可以指定標(biāo)簽信息蹬跃;
命令git tag可以查看所有標(biāo)簽匙瘪。
2:操作標(biāo)簽:命令git push origin <tagname>可以推送一個(gè)本地標(biāo)簽;
命令git push origin --tags可以推送全部未推送過(guò)的本地標(biāo)簽蝶缀;
命令git tag -d <tagname>可以刪除一個(gè)本地標(biāo)簽丹喻;
命令git push origin :refs/tags/<tagname>可以刪除一個(gè)遠(yuǎn)程標(biāo)簽。