1. 创建版本库
1 | mkdir gitDemo //创建一个文件夹 |
2. 修改的文件或者创建的新文件提交到版本仓库
1 | git add readme.txt //添加到版本库 |
3. 查看是否有更改未提交的情况git status
1 | git diff readme.txt///查看文件被修改部分内容 |
4. 版本回退
1 | //跳到哪一个版本,秒秒钟的事,切一下头指针就ok,类似于链表的操作 |
5. 工作区和暂存区,跟踪修改
git是如何操作的? 如图,先把修改的文件add到暂存区,然后再执行 git commit,比如有几个文件做了修改,你这个时候可以修改一个就执行add和commit操作,也可以先全部add完再执行一次commit, 建议是开发一个小模块,创建或者修改完就add进去,快下班的时候或者休息的时候翻篇的时候,就执行一次commit操作,不然这个容易忘记,还有模块与模块之间,开发周期与开发周期时间和时机的不同, 尽可能开发一部分就提交一部分,免得积攒大量的任务.. 节点多意味着更加灵活,后续想滚到哪里就滚到哪里…
6. 撤销修改
1 | 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。 |
7. 生成ssh key
1 | //1. 检查是否有ssh key |
8. 拉取远程库
1 | ///刻隆下来 |
9. 推送到远程库
1 | git push origin master |
分支
1 | Git鼓励大量使用分支: |
打tag
1 | 命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id; |
记录一次实战操作步骤
1 | // cd Desktop 进入桌面创建一个文件夹 |
常用操作
1 | /// 生动形象查看git log |
放弃当前本地修改,强制拉取远程库最新的更新
1 | git fetch --all |
alias | grep git
调用zsh的插件 git 缩写
ga
=git add
gaa
=git add --all
gb
= git branch
gcam
=git commit -a -m
gcb
= git checkout -b
gco
=git checkout
gm --no-ff
=git merge --no-ff
gcmsg
=git commit -m
gpoat
=git push origin --all && git push origin --tags
gfa
= git fetch --all --prune
grhh
= git reset HEAD --hard
Debug 遇到的一些各种各样的问题
1. clone代码的时候遇到如下报错
fatal: Authentication failed for 'https://gitee.com/iOSCoder-JJMY/JJYSClient.git/'
重新设置用户名和邮箱即可
1 | git config --global user.name "wangguibin" |
2. 如果你在主分支(master)上做了修改,子分支(dev)想要同步主分支的修改,那么有以下两种操作:
1 | # 方式一: git merge 合并分支 |
4. 在开发过程中使用git rebase还是git merge,优缺点分别是什么?