基础操作指令
将文件从工作区添加到暂存区
$ git add
将文件从暂存区添加到仓库
$ git commit
查看修改的状态
$ git status
提交暂存区内容到本地仓库的当前分支
$ git commit -m '注释内容'
查看提交日志
$ git log[option]
options
--all 显示所有分支
--pretty=online 将提交信息显示为一行
--abbrev-commit 使输出的commitID更简洁
--graph 以图的形式显示
--decorate
版本回退
版本切换
$ git reset --hard commitID
查看commitID
$ git log
查看已经删除的记录
$ git reflog
分支
查看本地分支
$ git branch
创建本地分支
$ git branch 分支名
切换分支
$ git checkout 分支名
切换到一个不存在的分支(创建并切换)
$ git checkout -b 分支名
合并分支
$ git merge 分支名
删除分支
不能删除当前分支,只能删除其他分支
$ git branch -d b1 //删除分支事,需要做各种检查 $ git branch -D b1 //不做任何检查,强制删除
git远程仓库
开源:GitHub, 码云
私源:GitLab
创建远程仓库(码云)
配置SSH公钥
生成SSH公钥
$ ssh-keygen -t rsa //不断回车,如果公钥已经存在,则自动覆盖
Gitee设置账户共公钥
获取公钥
$ cat ~/.ssh/id_rsa.pub
验证是否配置成功
$ ssh -T git@gitee.com
添加远程仓库
此操作是先出实话本地库,然后与一创建的远程库进行对接
$ git remote add <远端名称> <仓库路径>
远端名称, 默认是origin, 取决于远端服务器设置
仓库路径, 从远端服务器获取此URL
查看远程仓库
$ git remote
推送到远程仓库
$ git push [-f] [--set-upstream] [远端名称[本地分支名][:远端分支名]]
-- 如果远程分支名和本地分支名称相同,则可以止血本地分支
-- 例:$ git push origin master
-- -f 如果本地和远端有冲突,则强制覆盖
-- --set-upstream 推送到远端的同时建立起和远端分支的关联关系
-- 如果当前分支已经和远端分支关联,则可以省略分支名和远端名
-- 例:$ git push
克隆
$ git clone
抓取和拉取
抓取
$ git fetch [remote name] [branch name]
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
如果不指定远端名称和分支名,则会抓取所有分支
拉取
$ git pull [remote name] [branch name]
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定与远端名称和分支名,则抓取所有并更新当前分支