基础操作
1.创建版本库(repository)
- 创建一个空目录
mkdir learngit
cd learngit
pwd
- git init命令把目录变成Git可以管理的仓库
git init
2.把文件添加到版本库
- 一定将文件放在learngit目录下(或子目录下)
- 将文件添加到仓库
git add filename
- 把文件提交到仓库
git commit -m "sighment"
// -m 后面输入的是本次提交的说明,可输入任何内容
// commit可以一次提交很多文件
3.时光机穿梭
- git status
可以让我们时刻掌握仓库当前的状态 - git diff
查看最近两个版本的不同
4.版本回退
- git log
查看从最近到最远的提交日志 - git log –pretty=oneline
在一行显示版本后和修改内容 - Git中用HEAD表示当前版本,上一个版本是HEAD^
– 将当前版本回退到上一个版本
git reset --hard HEAD^
- 查看当前版本的内容
cat filename
- git reflog
记录每一次命令 - git checkout – file
丢弃工作区的修改 - git reset HEAD file
把暂存区的修改撤销掉,重新放回工作区 - git rm file
从版本库中删除文件(要git commit)
5.远程库
-git remote add origin git@github.com:name/filework.git
关联一个远程库
- git push -u origin master
第一次推送mster分支的所有内容
- git push origin master
本地提交后推送最新修改
6.从远程库克隆
- git clone git@github.com:CuteSmallZq/filename.git
从远程库克隆一个本地库
7.分支
- git checkout -b branchname
创建一个名为”branchname”的新分支
相当于
git branch branchname
git checkout branchname
- git branch
查看当前分支 - git merge branchname
用于合并制定分支到当前分支 - git branch -d branchname
删除branchname这个分支 - git log –graph
可以看到分支合并图 - git merge –no-ff -m”describe” branchname
普通模式合并,合并后的历史有分支,能看出来曾经做出的合并,而fast forward合并就看不出来曾经做过的合并
8.Bug分支
- git stash
储藏当前工作现场,等以后恢复现场后继续工作 - git stash list
查看工作现场
恢复工作现场的两种方法
1.git stash apply来恢复,但是stash内容要通过git stash drop删除
2.git stash pop 恢复,恢复同时也删除stash
9.feature分支
- git branch -D branchname
强行删除没有被合并的分支
10.多人协作
- git remote
查看当前远程仓库信息 - git remote - v
显示更加详细的信息 - 多人协作的工作模式
- 首先,git push origin branch-name推送自己的修改
- 若推送失败,则因为远程分支比本地更新,先用git pull试图合并
- 如果合并有冲突,解决冲突并在本地提交
- 若无冲突或解决掉冲突后,再用git push origin branch-name推送就能成功
- 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name。
11.标签管理
- 创建标签
- 操作标签
- git tag