目錄
基本操作語法?
設置用戶和郵箱
版本回退
工作區和暫存區?
撤銷修改
刪除與恢復
一工作區刪除了,但是暫存區沒刪除
?二工作區誤刪了,暫存區還有
github-Git 連接
報錯解決-push遠程倉庫被拒絕
遠程庫
分支
分支沖突
儲藏分支
回到當前分支恢復現場
bug分支
協作
查看commit版本號
?標簽管理
操作標簽
基本操作語法?
設置用戶和郵箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
git init? 初始化倉庫
git add? + 文件名,添加到倉庫
git commit? -m "信息"提交到倉庫
git status 查看倉庫狀態
git diff + 文件名? 看看修改了什么內容
版本回退
git log 查看以往的提交 加上?--pretty=oneline 省略查看
git reset --hard HEAD^? HEAD表示當前的提交狀態
git reset --hard? 1094a? 后面的1904a表示提交的版本號,可以返回指定狀態
git reflog? 記錄每次提交的命令
工作區和暫存區?
工作區就是電腦里能看見的目錄,版本庫 .git文件
撤銷修改
git checkout -- 文件名? 撤銷修改
刪除與恢復
有兩種情況
一工作區刪除了,但是暫存區沒刪除
刪除工作區? rm test.txt? ?然后刪除暫存區? git rm test.txt 最后commit。
?二工作區誤刪了,暫存區還有
git checkout -- text.txt
github-Git 連接
ssh key?https://blog.csdn.net/qq_33442844/article/details/78491777
生成密鑰??ssh-keygen -t rsa -C "youremail@example.com"
報錯解決-push遠程倉庫被拒絕
ssh: connect to host github.com port 22: Connection refused 原因22端口被防了,需要在.ssh文件里的config文件里修改端口
touch config
vim config
?
Host github.com
? Hostname ssh.github.com
? Port 443
? User git
ssh -T git@github.com
遠程庫
添加遠程庫?git remote add origin git@server-name:path/repo-name.git
推送遠程庫??git push origin master
查看遠程庫 git remote -v
解除遠程庫 git remote rm origin
克隆倉庫?git clone git@github.com:michaelliao/gitskills.git
分支
查看分支 git branch 歷史提交分支??git log --graph --pretty=oneline --abbrev-commit
創建分支 git branch +分支名? git checkout +分支名 git switch -c +分支名
切換分支? git checkout +分支名? git switch +分支名
合并分支到當前分支? git merge +分支名
合并分支并創建分支樹??git merge --no-ff -m "? " +分支名
刪除分支 git branch -d +分支名
分支沖突
當兩個分支對同一個文件不同修改并合并時,會發生沖突,要先解決沖突再合并
儲藏分支
當你在本分支上有操作時,想要去另一個分支解決bug,又希望不會被提交,工作樹是干凈的
git stash?
查看儲藏分支?git stash list
回到當前分支恢復現場
????????1.恢復后還保存保存現場 git stash apply 可以用 給git stash drop刪除
? ? ? ? 2.恢復的同時刪除現場 git? stash pop
恢復指定的現場?git stash apply stash@{0}
bug分支
另一個分支解決后,想要 合并解決的bug的地方,不想全部merge
git log 拿到提交版本號? 然后? git cherry-pick +版本號
協作
推送main? ?git push origin main
git push origin master
你的小伙伴要在dev
分支上開發,就必須創建遠程origin
的dev
分支到本地,于是他用這個命令創建本地dev
分支:$ git checkout -b dev origin/dev
先用git pull
把最新的提交從origin/dev
抓下來,然后,在本地合并,解決沖突,再推送:?
git pull 失敗
git pull
也失敗了,原因是沒有指定本地dev
分支與遠程origin/dev
分支的鏈接,根據提示,設置dev
和origin/dev
的鏈接:?
git branch --set-upstream-to=origin/dev dev
查看commit版本號
git log --pretty=oneline --abbrev-commit
?標簽管理
創建標簽 git tag? v1.0? 帶有說明的標簽? git tag -a v1.0 -m "asd" +版本號
查看標簽? git tag?
對特定的提交打標簽 git tag v1.1? +commit版本號
查看標簽信息 git tag show v1.1
操作標簽
刪除標簽 git tag? -d v1.0?
刪除遠程標簽 git push origin :refs/tags/v1.0
推送標簽? git push origin 標簽名稱
一次性全部推送標簽? git push origin --tags
本地庫和Gitee遠程關聯