基础指令
初始化git仓库
git init
添加工作区到暂存区
git add 文件名
示例
git add . 将该文件夹的所有文件上传
git add file1 将名字为file1的文件上传
提交暂存区到本地仓库
git commit -m "注释内容"
查看的修改的状态
git status
git log [option]
options
--all 显示所有分支
--pretty=oneline 将提交信息显示为一行
--abbrev-commit 使得输出的commitId更简短
--graph 以图的形式显示
版本回退
git reset --hard commitID
commitID 可以使用 git-log 或 git log 指令查看
分支指令
查看本地分支
git branch
创建本地分支
git branch 分支名
切换分支
git checkout 分支名
直接切换到一个不存在的分支(创建并切换)
git checkout -b 分支名
合并分支(merge)
一个分支上的提交可以合并到另一个分支
git merge 分支名称
删除分支
不能删除当前分支,只能删除其他分支
git branch -d b1 删除分支时,需要做各种检查
git branch -D b1 不做任何检查,强制删除
操作远程仓库
添加远程仓库
git remote add <远端名称> <仓库路径>
远端名称,默认是origin,取决于远端服务器设置
仓库路径,从远端服务器获取此URL
查看远程仓库
git remote
推送到远程仓库
git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
如果远程分支名和本地分支名称相同,则可以只写本地分支
git push origin master
-f 表示强制覆盖
--set-upstream 推送到远端的同时并且建立起和远端分支的关联关系
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
git push 将master分支推送到已关联的远端分支。
长远程仓库克隆
git clone <仓库路径> [本地目录]
从远程仓库抓取和拉取
抓取 命令 git fetch [remote name] [branch name]
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
拉取 命令:git pull [remote name] [branch name]
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge