一.基本操作
1.创建仓库
mkdir myTest:make directory的缩写
cd myTest:进入该仓库
pwd:print working directory打印当前工作区域目录
git add xxx.file:将文件暂存到暂存区域,可多次操作
git commit -m’本次提交的文字说明’ :将文件提交到仓库
git remote -u origin master 首次提交到远程仓库
2.查看状态和改动
git status:查看工作区的状态
git diff:查看修改的内容
3.版本回退
git log:查看提交记录
回到上一个版本:git reset --hard HEAD^
回到上上个版本:git reset --hard HEAD^^
回到上100个版本:git reset --hard HEAD~100
回到某一个版本:git reset --hard commit_id
HEAD表示的是当前的版本
回到之前的版本之后,想回到未来的版本,通过git log就已经找不到了,这个时候可以通过git reflog来看命令历史
4.工作区和暂存区
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
5.撤销修改
如何去掉工作区的修改?
当修改在工作区的时候,我们可以使用git checkout – file将工作区的修改删除,但是它不能去除暂存区的修改。
如何去掉暂存区的修改?
git reset HEAD file:将暂存区的修改回到工作区
git checkout – file:去掉工作区修改
如何去掉版本库中的修改?
版本回退,前提是没有推到远程仓库
6.删除文件
git rm file:删除文件或手动删除
误删文件咋办?
git checkout – file 放弃修改或者放弃删除,一键还原
二.分支管理
1.创建分支
git branch dev:新建分支
git branch:查看分支
git checkout dev:切换到dev分支
git checkout -b dev:新建分支+切换分支
git merge dev:在当前分支上合并dev分支
git branch -d dev:删除dev分支
2.解决冲突
git log --graph:可以看到分支合并图
3.bug分支
修复bug的时候,我们需要在现有分支上创建新的分支,进行修复,提交并合并,删除。
暂存修改:
git stash 暂存修改
git stash pop 回到工作现场并删除stash list中的该内容
git stash apply 回到工作现场
git stash drop 删除
git stash list 查看stash缓存列表
git stash apply stash@{0} 恢复指定的stash
4.将一个分支上的某一个commit复制到另一个分支上
git cherry-pick commit-id
git 会在该分支上自动提交一个commit。
5如何删除一个没有被合并过的分支?
git branch -D dev:强行删除分支未被合并过的分支
6.查看远程仓库
git remote:查看远程仓库
git remote -v:查看抓取和推送的origin的地址
本地已有远程分支对应的分支:
git push origin master:推送master分支到远程master分支
git push origin dev
以上推送是指将本地分支推送到远程对应的分支上。
本地没有远程对应的分支:git checkout -b dev origin/dev
远程没有本地对应的分支:git push --up-stream origin dev
本地新建的分支如果没有push到远程,别人都看不到。
7.关联远程仓库
git remote rm origin // 移除本地关联
git remote add origin git@github.com/example.git // 添加线上仓库
git push -u origin master // 注意:更改后,第一次上传需要指定 origin