目录
- 1.是什么?
- 2.安装
- 3.创建库
- 3.增删改查
- 4.远程仓库
- 5.分支
- 6.标签
- 7.使用流程
- 8.总结
1.是什么?
- Git 是一个命令行工具,但也有许多图形用户界面可用。本地仓库,安装包下载到本地。
- Git 的一个流行 GUI 是 GitHub,它可以方便地管理存储库、推送和拉取更改以及合并代码。
二者区别
2.安装
下载安装、配置姓名、邮件
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
3.创建库
1.创建库——导航到要保存的目录创建一个库(cd 路径
—初始化)
git init
2.添加文件到库——提交单个文件到暂存区
git add filename
3.提交到Github——提交整个文件夹的文件到版本库-m "修改注释"
git commit -m "Commit message here"
3.增删改查
- 增加:
git add <XXX>
提交文件到暂存区;git commit -m "说明"
提交文件到版本库; - 删除:
git rm <XXX>
从版本库删除一个文件(本地也被删除<已暂存的话可找回>) - 修改: 本地与版本库的文件差别
git diff
- 查询: 当前工作区状态
git status
(红色待暂存;绿色暂存待提交;On branch master:提交完成); - 日志:
git log
查看现存最新的提交版本(删除的没有);--pretty=oneline
添加后缀查看更清晰(确认要回退的版本ID) - 恢复:
git reset --hard HEAD^
“几个”^”退几个版本(HEAD ^=commit ID<可直接写3个ID的开头…>);HEAD指向的版本就是当前版本 - 归档:
git reflog
查看所有提交的版本ID(包括删除的) ; 先找到ID,再用恢复命令到任意版本;
4.远程仓库
添加SHH公钥(推送的提交确实是你推送的,而不是别人冒充的)
- cmd添加SSH秘钥_
ssh-keygen -t rsa -C "your@mail"
- 目录下获取公共的秘钥文件_C:\Users\Administrator\ .ssh\id_rsa.pub(id_rsa是私有秘钥)
- GitHub设置中找到SSH树添加秘钥文件内容
- 多台电脑推送,设置多个公共秘钥
创建远程库
- 创建一个远程库_New repository(建议手动勾选自述)
- 本地库(git bash<右击属性打开窗口>)与远程库相关联_
git remote add origin git@github.com:账户名/仓库名.git
; git remote rm origin:删除本地远程关联 - 推送内容到远程库(远程同步)_
git push -u origin master
远程库下载
- 知道仓库的地址,然后使用git clone命令克隆_
git clone git@github.com:账户名/仓库名.git
5.分支
分支:多个任务同时进行(建议每进行一个任务都创建一个分支),最后合并合并后再删掉分支,和直接在master分支上工作效果是一样的。
创建分支:
git branch
(查看分支)git branch <name>
(创建分支);git switch -c <name>
(创建分支并切换);git checkout/switch <name>
(切换分支);git branch -d <name>
(删除分支);git branch -D <name>
(强行删除未合并的分支)git push origin --delete <name>
(远程删除分支)
合并分支:
git merge <name>
(快进<不留痕迹>方式合并分支);git merge --no-ff -m "描述" <name>
(普通合并分支,可查看合并历史)git log --graph
(命令可以看到分支合并图)- 合并冲突:Git合并失败的文件手动编辑为我们希望的内容,再提交,再合并。
临时分支(改bug):dev当前分支未完成不想提交可以先隐藏干别的分支
git stash
(隐藏当前分支)git switch master
(切换主分支);git switch -c <bug101>
(创建fix bug分支)修改-提交-合并-删除分支后切换到dev分支;git stash pop
(恢复当前分支)git cherry-pick <ID>
(master主分支改完bug后在dev分支复制更改)
多人协作(pull/push)
git remote -v
(查看远程版本)没有推送权限,看不到push的地址git push origin dev/master
(推送自己的分支)除协作分支外没必要都推送git pull
(拉取合并)推送失败,将最新的提交从origin/dev抓下来,然后,在本地合并, 解决冲突,再push :git branch --set-upstream-to <branch-name> origin/<branch-name>
(创建本地分支和远程分支的链接关系)无法pull,需分支关联,再pull
6.标签
将Commit的一串ID创建一个别名,好找提交的版本
打标签
git branch <dev>
:进入分支;git tag -a <V1.0> -m "blablabla..."
:指定标签信息(标签排序是以字母顺序的)git push origin <V1.0>
:推送标签到远程库;git push origin --tags
:推送所有未推送的标签
查标签
git tag
:查看所有标签git show <V1.0>
:查看标签信息
删标签
git tag -d <V1.0>
:删除V1.0本地标签;git push origin :refs/tags/<V1.0>
:删除远程标签
7.使用流程
8.总结
学习链接