1、创建版本库 mkdir 目录
初始化版本库 git init
2、添加文件至版本库
编写文件,放到指定目录下
git add <file> #可添加多个文件,反复多次使用
git commit -m "添加内容简要说明" #一次提交多个文件
3、git status 查看结果 #随时掌握工作区的状态
git diff 具体修改内容
4、版本回退
git reset --hard commit_id 或 git reset --hard HEAD^ ###不区分大小写
git log 可以查看提交历史
git reflog 查看命令历史,回到未来
5、stage(或者叫index)的暂存区
git add 先将所有修改放到暂存区
git commit 一次性将暂存区的所有修改提交到分支上
6、撤销修改
git checkout -- file 把在工作区的修改全部撤销
a、修改后还没有放到暂存区,撤销修改回到和版本库一模一样的状态
b、修改后已经添加到暂存区,又做了修改,撤销修改就回到添加到暂存区后的状态
git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区
再git checkout -- file 世界清静了!!
7、删除文件
删除工作区文件 rm file
a 从版本库中删除文件 git rm file ; git commit -m "一些注释"
b 版本库中还存在,将删除文件恢复: git checkout -- file
8、远程仓库
git remote add origin git@github.com:账户名/仓库名.git
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送新修改
9、从远程库克隆
要克隆仓库,知道仓库地址,
git clone git@github.com:CharlesLuoquan/gitskills.git
10、创建与合并分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
11、解决冲突:修改不一致部分,为一样的。 git log --graph看到分支合并图
12、分支管理
合并分支,git 用 Fast forward 模式 ,删除分支后,会丢掉分支信息
git merge --no-ff -m "merge with no-ff" dev
13、bug分支
git stash 保存当前工作现场;切回dev 分支干活 git checkout dev ;git stash list ; git stash pop即可恢复
你可以多次stash,恢复的时候,先用git stash list
查看,然后恢复指定的stash,用命令:
$ git stash apply stash@{0}
创建新的 bug分支
git checkout -b issue-101
提交修改的bug git add ; git commit -m “”
git checkout master ;git merge --no-ff -m "merger bug fix 101" issue-101(此是需要合并进当前分支的分支) ;最后删除 bug分支 git branch -d 分支
14、feature分支
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。