基础
- 官网:https://git-scm.com/
- 国外网友制作的Git Cheat Sheet
- 安装git
- 配置git
- git config --global --list
- git config --global user.name
- git config --global user.name wangliran
- 删除:git config --global --unset user.name
- 别名:git config --global alias.st status
- git st === git status
- 使用git
- 仓库—repository
- 基本操作
- git init
- mkdir 创建文件夹
- touch 创建文件
- git add 添加文件
- git commit -m ’meassge‘ 本地提交文件,meassge为提交信息
- git status 随时查看状态
- git diff 查看修改
- git log 查看提交日志
- 版本回退
- git reset --heard (HEAD^ | ID | 100^)
- git reflog
- git checkout – fiename 回退到该文件最近的一次commit 或 add
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I4H3yf34-1577612932181)(evernotecid://7E468C45-4E13-44E5-8379-18ECF294796F/appyinxiangcom/24351107/ENResource/p67)]
- 远程仓库
- 相当于服务器的角色 你可以自己搭建一个 但是没什么必要 因为git 提供了一个现成的远程仓库。GitHub
- 先有本地库,后有远程库的时候,如何关联远程库🔗
git remote add origin git@server-name:path/repo-name.git
git push -u origin master
- 先创建远程库,然后,从远程库克隆
git clone git@server-name:path/repo-name.git
- 使用GitHub
- 自行注册账号
- 本地Git仓库和GitHub仓库之间的传输是通过SSH加密,所以需要配置
- 配置方式
- 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件
- 有进入下一步
-
- 咩有:
ssh-keygen -t rsa -C "youremail@example.com
,你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
- 咩有:
- 登陆GitHub,打开“Account settings”,“SSH Keys”页面
- 点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
- 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件
- 关于分支
- git branch 查看分支
- git branch dev 创建分支
- git checkout dev 切换分支
- git checkout -b dev (上两条命令合并)
- git merge 合并分支
- git branch -d dev 删除分支
- git log --graph 查看分支合并图
- git stash 暂存
- git stash apply 恢复
- git stash pop 恢复并删除stash
- git cherry-pick ‘某次commit’ 这个没玩过 把提交的修改“复制”到当前分支,避免重复劳动
- git branch --set-upstream-to=origin/dev dev 指定本地dev分支与远程origin/dev分支的链接
- git rebase 可以把本地未push的分叉提交历史整理成直线
- 使用git做贡献
- 在github上fork官方仓库到自己的账号下
- 在自己的账号下clone仓库,可以自由增删改
- 发起pull request,就可以向官方库贡献自己的代码
- 查看仓库信息----
git remote -v
- 删除远程库----
git remote rm origin
- git关联多个远程库
- eg :
git remote add github git@server-name:path/repo-name.git
- 远程库名字不叫origin 叫gitHub
- push代码–
git push github master
- eg :
git remote add gitee git@server-name:path/repo-name.git
- eg :
- git忽略文件设置
- 根目录下创建一个特殊的.gitignore文件,将想要忽略不提交的文件添加进去即可
- 自己搭建git服务器
面试
https://segmentfault.com/a/1190000019315509?utm_source=tag-new
https://blog.csdn.net/nobody_1/article/details/88956315
https://www.cnblogs.com/BillyYoung/p/10368100.html