尽量使用bash别用cmd
推荐一个学习git的宝藏网站:https://learngitbranching.js.org/?locale=zh_CN
基础操作
clone有无远程ssh连接都可以git clone适用于本地没有代码
生成密钥ssh-keygen -t rsa -C “邮箱” -f "文件"
连接 码云ssh -T git@gitee.com
改全局用户名和邮箱git config --global user.name "xxx"git config --global user.email "xxx"
git init在文件夹中生成一个git文件。这个文件是默认隐藏的,可以在文件夹中设置让其显示出来
git remote -v // 查看git对应的远程仓库地址
git remote rm origin // 删除关联对应的远程仓库地址
git remote -v // 查看是否删除成功,如果没有任何返回结果,表示OK
ctrl/shift+Ins 复制粘贴
origin 表示远程仓库名,可任意更改
git remote add origin 仓库路径就是获得仓库的位置,告诉git你建的仓库在哪
git pull origin master(分支名)将远程仓库pull到文件夹,这是防止内容不同而产生报错准备的
git add .将文件保存到缓存区
git commit -m ‘注释’就起名嘛
git push origin 分支名将本地仓库推送到远程仓库
回退commitgit log --oneline 查看提交idgit reset --soft <无法上传的那次的上一个的id>
删除版本库git rm -r --cached build.xml(文件名)
git rm --cached foldername(文件夹名)
这个命令的意思是从版本库中将该文件或者改文件夹删除github访问修改hostsfailed to connect to github访问https://www.ipaddress.com/site/github.com 查到ip在C:\Windows\System32\drivers\etc的hosts最后加上ip地址 github.com取消所有代理git config --global --unset http.proxy更换淘宝npm镜像npm config set registry https://registry.npm.taobao.org
文件限制
安装 git-lfs git lfs installgit lfs track "*.jar" // 大文件后缀(这里是 jar包)
git add .gitattributes // 配置好后就跟之前一样提交就行了
配置lfs仓库地址git config lfs.{你的gitee仓库地址}/info/lfs.locksverify false
删除pre-push文件rm .git/hooks/pre-push
分支
https://blog.csdn.net/silence_pinot/article/details/111478596?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166800971016800182718039%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166800971016800182718039&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-111478596-null-null.142^v63^control_1,201^v3^control_2,213^v2^t3_control2&utm_term=git%E5%88%86%E6%94%AF&spm=1018.2226.3001.4187
查看当前分支
git branch
HEAD
特殊指针,将 HEAD 想象为当前分支的别名HEAD所指向的直接关系是当前分支,再找到分支的版本
创建并切换至新分支dev
git checkout -b dev在当前位置创建一个指针,然后将HEAD指向它
查看所有提交
git loggit log --oneline 查看提交idgit log --all --graph 查看分支提交情况
提交分支
切换回主分支 git checkout master
合并分支 git merge dev
删除分支dev
git branch -d dev
分支冲突
将两个分支的文件,进行对比修改,满足两个分支的提交。
使用 git add 和git commit 进行一次新的提交。(此时提交的是master分支)
再次合并
查看带有冲突解决的日志
git log --graph -- pretty=oneline
合并时禁止快速合并模式
git merge --no-ff -m '' dev
贮藏
git stash 可多次
push前切换分支选择git stash
切回后git stash apply恢复内容
git stash list查看所有贮藏
git stash apply stash@{2} 恢复下标2的贮藏
git stash pop 弹出最后一次贮藏
git stash drop stash@{0} 删除下标0的贮藏
重置
git reset head~ --soft
变基
b分支上 git rebates a