目录
基本操作语法
设置用户和邮箱
$ 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远程关联