git常用命令大全
作用:git的作用是协同多人对同一个项目进行开发,解决多人在同时间对相同文件开发的合并冲突问题,给每个文件的每次修改操作做日志标记,方便后期查找维护;源代码版本控制管理系统 是一个 时光穿梭机,可以查看到一个文件之前某年某月某日某时刻是什么样子的。
一、使用指令
配置账号
【git常用命令大全】`快捷键:
复制:Ctrl+Insert
粘贴:Shift+Insert`
$ git config --global user.name "xxx"
$ git config --global user.email "xxx@163.com"
初始化仓库
$ git init
添加文件到暂存区
// 提交单个文件
$ git add test.txt
// 提交单个目录文件
$ git add js
// 提交所有文件
$ git add .|*|-A// 或.或*或-A
提交文件到版本库
// message 提交的备注信息,方便后期查看维护使用
// 将暂存区全部有需要的文件一次性提交到本地版本库中。
$ git commit -m "第一次提交";
查看状态指令
新建、修改的文件通过该指令可以看出对比:
- 红色表示被 新建/修改 的文件,需要执行add操作,该文件目前正处于工作区
- 绿色表示文件已经处于 暂存区,需要执行commit操作 以便添加到版本库
$ git status -s// 简短方式提示日志
$ git status// 正常提示日志
查看操作日志
$ git log
全部撤销最近一次add
$ git reset HEAD
二、分支 创建分支
$ git branch// 查看所有分支
$ git branch cart// 创建名称为cart的分支
切换分支
$ git checkout cart// 切换到名称为cart的分支上
或
$ git checkout -b cart// 创建并切换到cart分支上
合并分支
$ git merge cart
删除分支
$ git branch -d cart
三、远程仓库 获取(复制)仓库
$ git clone "远程仓库地址"// 获取已有仓库的副本到本地
提交操作
把本地版本库的文件push推送到远程仓库
$ git push "远程仓库地址" 分支// 把某一个分支推送到远程仓库
- 注意只有
版本库
的文件才可以被push推送到远程仓库 - 现在每个文件命运走势:工作区 -- (add) --> 暂存区 -- (commit) ---> 版本库 -- (push) ---> 远程仓库
git pull
命令的作用是:取回远程仓库某个分支的更新,再与本地的指定分支合并
// git pull 只从远程仓库把本地没有的文件或内容更新下来,不负责下载.git版本库
git pull <远程主机名> <远程分支名>:<本地分支名>
例:git pull https://xxx.git master// 将远程主机origin的master分支拉取过来,与本地的brantest分支合并
git pull origin master:brantest// 表示将远程origin主机的master分支拉取过来和本地的当前分支进行合并
git pull origin master
注意:
git clone
在一个开发者电脑里边一个项目中执行一次即可git pull
在一个开发者电脑里边一个项目中执行多次即可
$ git log// 查看目前有效的commit提交日志
$ git log --pretty=oneline// 以非常简单的方式显示文件提交日志信息
$ git reflog// 查看所有commit提交操作的版本号码,包括恢复的git log 给显示当前版本库全部的历史版本,恢复过的版本不给显示,
git reflog 给显示全部的操作日志,包括恢复的操作
把文件 "版本库" 指定的版本恢复到 "工作区":
$ git reset --hard 64ff51e// 把版本号为 64ff51e 的版本恢复到工作区
五、保留本地的修改同时又把远程的合并
pull遇到错误:error: Your local changes to the following files would be overwritten by merge:注意:
- 如果你
要保存
本地的修改,那按顺序执行以下操作:
// 第一步 git stash 进行本地快照 $ git stash // 第二步 $ git pull origin master // 第三步 git stash pop会发现发生冲突的本地修改还在 $ git stash pop
- 如果你
不保存
本地的修改,远程代码直接覆盖本地,那按顺序执行以下操作:
// 第一步 $ git reset --hard // 第二步 $ git pull origin master