通过对廖雪峰的git教程学习做出的摘要
1.git init 创建版本库
git add () 告诉Git,把文件添加到仓库(注意,可反复多次使用,添加多个文件)
git commit 【-m (“ ”)】告诉Git,把文件提交到仓库
git status 随时掌握工作区的状态
git diff 可以查看修改内容
git reset --hard commit_id 可以返回commit_id的版本
git log 可以查看提交历史,以便确定要回退到哪个版本
git relog 查看命令历史,以便确定要回到未来的哪个版本
2.工作区,暂存区,版本库概念
QQ图片20170716221159.png
每次修改,如果不add到暂存区,那就不会加入到commit中
git checkout -- file
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git reset 既可以回退版本,也可以把暂存区的修改回退到工作区
git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
git rm file 从版本库中删除该文件
git checkout -- file 如果误删了,把版本库里文件恢复过来
3.远程库
git remote add origin git@server-name:path/repo-name.git 要关联一个远程库
关联后,使用命令git push -u origin master第一次推送master分支的所有内容
每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改
要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
https:https://github.com/liang233/gitskills.git
ssh:git@github.com:liang233/gitskills.git
4.分支管理
git checkout -b dev 创建dev分支,然后切换到dev分支,相当于两个命令:git branch dev,git checkout dev
git branch 会列出所有分支,当前分支前面会标一个*号
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
网友评论