创建版本库:
- mkdir:创建文件夹
- cd:进入当前目录
- pwd:用于显示当前目录
- git init:将这个目录变成
git
可以管理的仓库 - git add 文件名:将这个文件添加到暂存区
- git commit -m ‘注释信息’:把文件提交到仓库
版本回退:
- git log:显示从最近到最远的提交日志
- git log –pretty=oneline:显示提交日志的简版
- git reset –hard HEAD^:回退到上一个版本
- git reset –soft HEAD^:回退到上一个版本,不改变本地已修改的内容
- git reset –hard 版本号:回退到指定版本
- git reflog:查询历史命令(里面包含版本号)
工作区和暂存区:
git diff 文件名:查看文件中哪些内容被修改了
git diff HEAD –文件名:查看工作区和版本库里面最新版本的区别
git status:查看工作区状态,检查是否还有文件未提交
撤销修改:
- git checkout – 文件名:让这个文件回到最近一次git commit或git add时的状态。(注意空格)
删除文件:
- git rm 文件名:删除文件(类似于git add 文件名),此时有两个选择:
- 从版本库中删除该文件执行git commit;
- 误删执行git checkout – 文件名
远程仓库:
- git remote add origin GitHub账户名/仓库名.git:关联远程仓库
- git push -u origin master:将当前分支master推送到远程
- git push origin master:把本地master分支的最新修改推送至GitHub
- git clone git@github.com:GitHub账户名/仓库名.git:从远程仓库中克隆到本地仓库
分支管理:
- 创建与合并分支
- git checkout dev:创建dev分支
- git checkout -b dev:创建dev分支并切换到分支
- git branch:查看当前分支
- git merge dev:将dev分支上的工作成果合并到当前分支上
- git branch -d dev:删除dev分支
- git switch -c dev:创建并切换到dev分支
- git switch master:切换到已有的master分支
分支管理策略
- git merge –no-ff -m “merge with no-ff” dev:合并分支并禁用Fast Forward
Bug分支
- git stash:将当前工作现场“隐藏”起来,用于工作没有完成,但需要先解决bug的情况,如果下拉代码的时候发生冲突,可以使用该指令将当前工作现场“隐藏”起来,然后手动解决冲突;
- git stash list:查看隐藏起来的工作现场
- git stash apply:恢复工作现场,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
- git stash pop:恢复的同时把stash内容也删了
- 在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <版本号>命令,把bug提交的修改“复制”到当前分支,避免重复劳动。
Feature分支
- git branch -D <分支名>:强行丢弃一个没有被合并过的分支。
多人协作
- git remote:查看远程仓库的信息
- git remote -v:查看远程仓库更详细的信息
- git push origin master:将本地仓库的master分支推送到远程仓库中
- git rebase:把本地未push的分叉提交历史整理成直线
标签管理
创建标签
- git tag <name>:在需要打标签的分支上打出标签
- git tag:查看所有标签
- git tag <name> <commit>:根据版本号进行打标签(补签)
- git show <tagname>:查看标签信息
- git tag -a <tagname> -m “说明文字” <commit>:创建带有说明的标签,用-a指定标签名,-m指定说明文字
操作标签
- git tag -d <tagname>:删除标签
- git push origin <tagname>:推送某个标签到远程
- git push origin –tags:一次性推送全部尚未推送到远程的本地标签
- 删除远程标签:先要删除本地标签git tag -d v0.9,然后再删除远程标签git push origin :refs/tags/v0.9
使用Gitee
- git remote rm origin:删除已有的GitHub远程库
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!