GIT -- bash命令与github之间的操作合集
纵使图形化工具遍地,我对bash的爱意也是无法停止的,因为生命的意义在于装13。
git config --global user.name ""
git config --global user.email "" //设置用户名与邮箱
git config --global color.ui true //命令会显示不同的颜色
GitHub 界面(对不起英语不好):
code:代码
issues:问题
pull request:拉取请求
projects:项目
wiki:
insights:
settings:设置
commit:提交
branch:分支
releases:版本
contributor:贡献者
---------------------本地仓库操作--------------------------------------------------------
mkdir 文件夹名 //创建空目录(文件夹)
mkdir -p test/a //-p代表没有test便创建test(没有-p 同时 没有test报错)
pwd //显示当前目录路径
rm -rf //强制删除(不要问我为什么跑路)
git init //将当前目录变为仓库
ls -ah //查看当前目录下所有列表(包括隐藏)
git add 文件名 //追踪文件 git add .(追踪全部 点前面有个空格)
git commit -m '**' //提交到仓库(如果忘了-m进入另外一个编辑器写入提交信息之后 开启大写--按下esc--2下Z 退出)
git status //查看仓库文件状态
git diff 文件名 //查看文件修改内容
git diff HEAD -- 文件名 //查看工作区和版本库的文件区别
cat 文件名 //查看文件内容
git status -s /-short //更为紧凑的格式输出:
MM-工作区被修改并且提交到暂存区后又在工作区被修改-暂存区与工作区都有该文件修改记录
M-文件被修改但是没有放入暂存区
M-文件被修改并且放入暂存区
A-新添加到暂存区中的文件
??-新添加的未跟踪的文件
git log //历史纪录 --pretty=oneline
git log --graph //可以看到分支合并图
git reset --hard HEAD^ //退回上个版本(上上个版本 HEAD^^../..上100个版本HEAD~100)
git reflog //记录每一次命令(退回老版本想返回新版本--用来查看新版本commit id)
git reset --hard 1094a(版本commit id)
git checkout -- 文件名 //丢弃工作区的修改
一种是自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
总之,就是让这个文件回到最近一次git commit或git add时的状态
(git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。)
git reset HEAD 文件名 //把暂存区的修改撤销,返回工作区
---------------------远程仓库操作--------------------------------------------------------
远程服务器 ==比如 github (需配置ssh公钥)(Windows下打开Git Bash,创建SSH Key:)
$ ssh-keygen -t rsa -C "youremail@example.com"
------------本地>>远程(上传自己的项目)(先init add commit一把梭)-------------------
$ git remote add origin git@github.com:michaelliao/learngit.git //将本地库与远程库关联
(michaelliao替换成自己的GitHub账户名)(远程库的名字就是origin 可修改)
(当需要关联多个库的时候 名字另外取)
$ git push -u origin master //推送本地库内容到远程库
(-u 将 本地master分支 内容推送到 远程新的master分支,并且关联2个分支)
(以后本地做修改提交可不加 -u)
git remote //查看远程库信息(名称) 一般为origin
git remote -v //更详细的信息
git remote rm origin //删除已有的远程库关联
------------远程>>本地-------------------
$ git clone git@github.com:michaelliao/gitskills.git //克隆远程仓库到本地
---------------------分支管理--------------------------------------------------------
git branch dev //创建
git checkout dev //切换
git checkout -b dev //创建本地分支并且切换 -b 表示创建并切换
git branch //查看当前分支(列出所有分支,当前分支前面标注 * 号)
git branch -d dev //删除分支 -D强制删除
git checkout -b dev origin/div //创建远程库origin的dev分支到本地,相关联
$ git branch --set-upstream-to=origin/dev dev //设置本地dev与origin/dev跟踪链接
git merge dev //合并制定分支到当前分支 提示信息Fast-forward: 快进模式的合并(修改指针)
git merge --no-ff -m "merge with no-ff" dev // --no-ff 表示禁用Fast-forward;-m 描述信息
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
git stash //储藏当前工作区
git stash list //查看储藏的工作现场
git stash apply //恢复工作区,但是stash内容不删除
git stash apply stash@{0} //恢复指定工作区
git stash drop //删除stash内容
git stash pop //恢复工作区,同时删除stash
git rebase //把本地未push的分叉提交历史整理成直线;方便查看历史提交
---------------------标签--------------------------------------------------------
切换到需要标签的分支
git tag <name> //打上新标签
git tag //查看所有标签(标签列出按字母排序)
git tag <name> <commit id> //对应之前commit过后的版本打上标签
git tag -a <name> -m "" <commit id> // -a 指定标签名 -m 指定说明文字
git show <tagname> //查看tagname的标签信息
git tag -d v0.1 //删除本地tag标签
git push origin <tagname> //推送标签到远程
git push origin --tags //推送全部本地tag标签
删除本地tag之后 git push origin :refs/tags/v0.1 //删除远程tag
---------------------忽略特殊文件--------------------------------------------------------
新建 .gitignore 写入需要忽略的文件----战略合作www.baidu.com
(未完待续。。。)
- 学习github(2) -- git 本地库命令操作
- Git上传代码到Github的常用命令操作(精简版)
- Linux-Ubuntu下配置 Github ,使用 git命令操作进行版本控制
- git bash 下操作文件及文件夹命令
- git和github的代码托管常用命令和操作
- [cnblogs镜像]Github 团队协作基本流程与命令操作 图解git工作流程
- Github 团队协作基本流程与命令操作 图解git工作流程
- Git高大上的命令 Github提交文件操作
- git bash 操作 从github上pull代码再从客户端push上去
- 【git】idea /git bash命令 操作分支
- Git Bash 下操作命令 cheetsheet
- 使用git命令操作github时的一些注意事项
- git操作命令(基于github操作)
- git-bash管理Github/Gitee项目常用命令
- Git、GitHub项目常用操作命令指南
- git bash 操作命令
- git链接GitHub命令及基本操作
- Git命令操作GitHub和Visual Studio Online
- Git&GitHub学习笔记之(二)Git命令操作
- Git命令之分支操作