图中名词解释
- workspace: 工作区
- Index: 暂存区
- Repository: 本地仓库
- Remote: 远程仓库
常用命令
下载
git clone https://gitee.com/602387427/test.git
获取最新代码
git pull --rebase origin master
建立本地分支(dev)
git checkout -b dev
将本地分支推送到远程,建立远程分支(origin/dev)
git push origin dev
根据远程的test 分支并同步建立本地的test 分支 (在本地创建和远程分支对应的分支)
git checkout -b test origin/test
方法二
git fetch origin 远程分支名x:本地分支名x
但是需要手动切换到分支
git branch -a
> master
> * test
> remotes/origin/HEAD
> remotes/origin/master
> remotes/origin/test
查看分支
git branch -a
添加文件并添加注释
git add .
git commit -m "提交代码注释"
查看状态
git status
提交代码到远程分支
git push -u origin dev
切换回主支
git checkout master
分支代码融合到主支
git merge dev
提交到主支
git push -u origin master
删除本地分支(dev)
git branch -D dev
删除远程分支(dev)
git push origin :dev
刚刚的commit想直接丢弃怎么办
git reset --hard HEAD^ 撤销最新的一条commit
git reset --hard 版本号
git代码已经push上去发现有问题
- 如果出错内容还在私有分支
git push origin 私有分支 -f // -f --force 忽略冲突,强制push
- 如果出错内容已经push 到master分支
git revert HEAD^ //会增加一条新的commit, 内容是撤销倒数第二个commit, 再commit, push,达到撤销的作用,历史记录中会保存这两条记录
或者git log 或 git reflog 打印日志中获取之前的版本🆗,并回溯
git切换分支前先缓存修改
git stash save -a "message"
-a是将新加入的代码文件同时放入暂存区,如果是以前就有了,那么就不用加-a,你加的话,会报错的。
切换到源分支,恢复缓存区的修改
git stash pop
恢复最近的一次改动
git stash apply stash@{1} // 取出特定的缓存内容
删除stash
git stash drop stash@{id}
不加stash编号,默认就是删除最新的,即编号为0
清楚所有的缓存记录
git stash clear
查看stash列表
git stash list
查看配置信息
vi ~/.gitconfig // 查看配置
git config user.name //用户名
git config user.emall
git 提交规范
- feature: 新功能
- fix: 修改bug
- docs: 文档
- refactor:重构
- test: 测试