git使用大全,简单明了不啰嗦。
GIT常用操作
-
初始化一个Git仓库:
1. 使用gitbash进入一个空目录
2. 使用git init
命令,创建git版本库。 -
添加文件到Git仓库,分两步:
- 使用命令
git add <file>
,注意,可反复多次使用,添加多个文件;就是把文件修改添加到版本库里的暂存区,每次修改,如果不添加到暂存区,提交时不会加入到分支中。 - 使用命令
git commit -m <message>
,提交的说明一定要写(字符串加双引号);就是把暂存区的所有内容提交到当前分支。
- 使用命令
-
查看工作区状态:
- 使用
git status
命令,随时掌握工作区的状态;
状态一:修改了没有添加到缓存区(红色)
状态二:修改了添加到了缓存区(绿色)
状态三:On branch master nothing to commit, working tree clean
- 如果是状态一,用
git dif
f可以查看修改内容。“-”号是修改前,‘’+"号是修改后,第一个加号后修改的前一行。第二个加号是修改的内容
- 使用
-
切换版本库:
在分支中HEAD指向的版本就是当前版本,因此使用命令git reset --hard commit_id
可以随意切换到修改过的版本当中。- 用
git log
可以查看提交版本的历史信息,即查询commit_id
以便确定要回退到哪个版本,git log --pretty=oneline
可以使历史信息更直观。 -
git reflog
查看命令历史,记录了所有分支的所有操作(包括已经被删除的 commit 记录和 reset 的操作)。
- 用
-
撤销修改:
git checkout -- <file>
可以丢弃工作区的修改:- 场景1:修改了工作区的内容,没有添加到缓存区
- 直接操作工作区文件,但如果修改过多容易操作错误
- 用命令
git checkout -- <file>
,撤销本次的全部修改
- 场景2:修改了工作区内容,还添加到了暂存区时,想丢弃修改,分两步,
- 用命令
git reset HEAD <file>
就回到了场景1, - 按场景1操作。
- 用命令
- 场景3:添加到缓存区且提交,想要撤销本次提交,只能切换版本,不过前提是没有推送到远程库。
- 场景1:修改了工作区的内容,没有添加到缓存区
-
删除文件:
前提是文件有被添加到版本库,不然没有记录就不能实现任何git的操作
同理删除算大修,改执行下面两种操作后,不用添加到暂存区了,直接提交git commit -m <message>
这样当前版本也就删除了改文件- 直接在工作区删除文件
-
git rm <file>
删除文件
-
远程仓库:
- 关联远程仓库
$ git remote add origin
https://github.com/609678513/gitStudy.git` - 上传推送本地分支
$ git push -u origin master
- 远程仓库默认的主分支是origin,对应本地仓库的master
- 克隆远程仓库
$ git clone
https://github.com/609678513/gitskills.git 注意:Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
- 关联远程仓库
-
分支管理:
- 当前分支作业时:
- 查看分支:
git branch
- 创建分支:
git branch <name>
- 切换分支:
git checkout <name>
- 创建+切换分支:
git checkout -b <name>
- 合并某分支到当前分支:
git merge <name>
- 合并分支时,Git会用Fast forward(快进)模式,但这种模式下,删除分支后,会丢掉分支信息,
- 禁用该功能,Git就会在merge时生成一个新的commit
$ git merge --no-ff -m "<message>" <name>
- 删除分支
git branch -d <name>
- 当前分支没有合并时会提示
$ git branch -D <name>
即是否强行删除,输入该指令即可强行删除该分支
- 当前分支没有合并时会提示
- 查看分支:
- 临时切换分支作业时
- 暂存分支工作状态
git stash
- 查看分支存储的工作状态
git stash list
- 恢复分支工作状态
git stash apply
- 删除分支存储的工作状态
git stash drop
- 恢复并删除分支存储工作状态
git stash pop
- 暂存分支工作状态
- 本地同步更新远程分支:
git pull
廖雪峰官网多人协作开发
- 当前分支作业时:
在webstrom上使用git
- git下的选项
- 分支操作Branches