工作區(qū){
file
}
版本庫{
git add -> 暫存區(qū)(stage)
HEAD 指針
git commit -> 默認分支(master)
}
repository : 倉庫名;
pwd : 顯示路徑;
git常用命令
1. git init
把這個目錄變成Git可以管理的倉庫;
2. git add filename
把文件添加到倉庫;
3. git commit -m "log"
把文件提交到倉庫;
4. git status
查看文件是否被修改;
5. git diff
查看修改具體內(nèi)容
6. git log / git log --pretty=oneline / git log --graph
查看提交日志 / 查看簡潔信息的提交日志 / 查看分支合并圖
7. git reset --hard HEAD^ / git reset --hard HEAD^^ / git reset --hard HEAD~100
版本回退到上個版本 / 回退上上個版本 / 回退到前100個版本
8. git reset --hard 3628164
回到指定版本
9. git reflog
查看命令歷史
10. git checkout -- file
恢復(fù)工作區(qū)內(nèi)容
11. git reset HEAD file
撤銷暫存區(qū)內(nèi)容
12. git rm
刪除一個文件
13. git remote add origin http"http://***
關(guān)聯(lián)遠程庫
14. git push -u origin master / git push origin master
第一次推送master分支的所有內(nèi)容 / 第一次以后推送
15. git clone
克隆一個倉庫(Git支持多種協(xié)議,包括https,但通過ssh支持的原生git協(xié)議速度最快。)
16. git branch
查看分支
17. git branch <name>
創(chuàng)建分支
18. git checkout <name>
切換分支
19. git checkout -b <name>
創(chuàng)建+切換分支
20. git merge <name>
合并某分支到當(dāng)前分支
21. git branch -d <name>
刪除分支
22. git merge --no-ff -m "merge with no-ff" dev
合并分支時,加上--no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來曾經(jīng)做過合并,而fast forward合并就看不出來曾經(jīng)做過合并
23. git stash
暫時封存
24. git stash pop
回到工作現(xiàn)場
25. git stash list
可以多次stash,用git stash list查看
26. git branch -D <name>
強行刪除分支
27. git remote -v
查看遠程庫的信息
28. git tag <name>
新建一個標(biāo)簽
29. git tag -a <tagname> -m "blablabla..."
可以指定標(biāo)簽信息
30. git tag -s <tagname> -m "blablabla..."
可以用PGP簽名標(biāo)簽
31. git tag
可以查看所有標(biāo)簽
32. git push origin <tagname>
推送一個本地標(biāo)簽
33. git push origin --tags
可以推送全部未推送過的本地標(biāo)簽
34. git tag -d <tagname>
可以刪除一個本地標(biāo)簽
35. git push origin :refs/tags/<tagname>
可以刪除一個遠程標(biāo)簽
多人協(xié)作
1. 首先,可以試圖用git push origin branch-name推送自己的修改;
2. 如果推送失敗,則因為遠程分支比你的本地更新,需要先用git pull試圖合并;
3. 如果合并有沖突,則解決沖突,并在本地提交;
4. 沒有沖突或者解決掉沖突后,再用git push origin branch-name推送就能成功!
5.如果git pull提示“no tracking information”則說明本地分支和遠程分支的鏈接關(guān)系沒有創(chuàng)建,用命令
git branch --set-upstream branch-name origin/branch-name。