-
创建版本库
- mkdir learngit cd learngit
- git init 初始化仓库
- 创建readme.txt,git add readme.txt,把文件添加到仓库
- git commit -m,把文件提交到仓库
- git add实际上是把要提交的所有修改放到暂存区,git commit可以一次性把暂存区的所有修改提交到分支
-
时光机穿梭
- git status让我们时刻掌握仓库当前的状态
- git diff查看修改的内容
- git log查看提交日志
- git reset --hard HEAD^(或者为版本号前几位)回退到上一个版本
- git reflog 记录每一次的回退
- git checkout --file丢弃最近一次add,如果已经add 先用git resetHEAD<file>,再执行第一步
- git rm用于删除一个文件,git checkout --用于恢复到最新版本
-
远程仓库
- 添加远程仓库git remote add origin git@github.com:
- git push origin master 第一次推送可以加上-u
- git clone git@
- git支持多种协议,但ssh最快
-
分支管理
- 创建分支并切换 git checkout -b==git switch -c==git branch git checkout
- 合并分支 git merge
- 删除分支 git branch -d
- 查看分支 git branch
-
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash
一下,然后去修复bug,修复后,再git stash pop
,回到工作现场;
在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick <commit>
命令,把bug提交的修改“复制”到当前分支,避免重复劳动。查看远程库信息,使用git remote -v
;
- 多人协作
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
;
从远程抓取分支,使用git pull
,如果有冲突,要先处理冲突。
附:markdown文件编写~~~~~~~~~~~~~~
Git学习笔记
原文:https://www.cnblogs.com/ujoxia/p/13126221.html