git命令使用大全

git及Linux操作

下载地址: https://git-scm.com/download/win

git与svn区别
  • svn 集中式  git分布式代码管理    svn需要中央服务器
  • git上传下载要快些
  • svn每个文件夹都有个.svn文件  git在init项目有个.git文件
git命令
  • git config –global -l     查看全局配置
  • git config –global user.name ‘wo’ 用户名
  • git init 初始化    有了第一次根提交才会有第一个分支
  • git add .或文件名  工作区提交暂存区
  • git commit -m ‘注释’  暂存区到历史区
  • git commit -a -m ‘注释’  只针对提交过一次的文件   快捷提交
  • git config –global user.email  ‘w@163.com’ 邮箱
  • git rm –cached 文件名  在暂存区移除
  • git rm –cached . -r  全部在暂存区移除
  • git log 输出提交日志 git reset –hard 版本号 日志显示当前版本以前的(包括当前版本)
  • git diff 默认比较工作区和暂存区    git diff master (自己起分支) 工作区和历史区比较  git diff –cached 比较暂存区和历史区
  • git checkout .   或者 git checkout 文件名   从暂存区将工作区内容覆盖掉
  • history  >2.txt 将历史命令写入2.txt如果没有新建
  • git  reset HEAD 文件名  文件暂存区回滚上个状态 撤销这步提交暂存区
  • git
  • :内容一屏放不全  可以上下键翻动  q退出
  • git reset –hard 版本号 强制版本回滚使其三个区保持一致
  • git reset –hard HEAD^向上级回滚一次
  • git reflog   记录所有commit提交指针变化    与git reset –hard配合可任意回滚版本
  • git branch 查看分支  加参数创建分支
  • git branch -a  显示本地、服务器所有分支
  • git branch -vv  显示本地分支和服务器分支的映射关系
  • git checkout 分支名    切换分支
  • git branch -D 分支名 删除分支    删除分支不能在要删分支上
  • git checkout  -b 分支名  创建并切换分支名      对于操作同意空间 当提交commit以后分支有差别了
  • git stash  暂存分支 当分支有更改  不能直接切换分支  可以提交 分支或者暂存分支   暂存没有修改是暂存过渡区暂时缓存修改后内容  切换分支后 git stash pop 取回刚刚暂存的内容
  • git merge  分支名   合并分支  遇有冲突的需要手动修改 再add  commit
  • git log –graph 显示图谱    git log –graph  –oneline 显示一行
  • touch .gitignore远程提交 忽略文件
  • touch .gitkeep  可远程提交文件夹(默认空文件夹无法提交)
  • git remote  add origin 远程仓库地址  origin是自己起的别名默认origin
  • git remote  rm origin 删除地址
  • git push -u origin master   -u 记录提交origin master  下次提交只写 git  push即可
  • git pull origin master  线上线下代码不一致  先拉取   会出现代码合并vi编辑界面 如果有冲突还是先手动改文件
  • gh-pages 在项目中创建提交线上仓库  用于展示项目静态页
    • git checkout -b gh-pages 创建分支
    • touch index.html
    • git add .   git commit -m ‘提交静态页’
    • git push origin gh-pages
  • fork的项目  克隆 git clone 项目地址  项目名字(自己起别名) new pull request   只有fork关系才能发送request请求
  • 可以在项目setting设置贡献者权限    提交用户名或邮箱开通权限邀请  这样那个被邀请人就可以往所在库提交代码
  • git push origin –delete  {{branch_name}}  删除远程分支
  • git rebase 分支名 变基
  • mkdir 文件夹名   新建文件夹    cd 文件夹 打开文件夹

  • ls 查看非隐藏文件列表
  • ls -a查看所有文件
  • cd ../ 返回上一级目录
  • touch .ignore   创建忽略文件
  • Wc 文件名  统计文件的字节数(汉字两字节)
  • less 文件名  查看文件在vi编辑器
  • pwd print working directory 打印当前工作目录
  • q退出
  • rm 文件 删除文件
  • Rm -rf 文件目录(强制删除,包括文件夹)
  • rmdir 空目录  删除空文件夹
  • mv 文件名 目录名  把文件移动到某目录 如mv 1.txt ../  将1.txt移动到上级文件夹  mv 1.txt ~/Desktop/桌面
  • cat 文件名 查看文件内容
  • cp 文件名 ../  把某文件复制到上层目录
  • cp 文件名 ../  文件名 把文件复制到上层目录的某个文件(覆盖)
  • head -n 文件 查看文件前n行
  • tail -n 文件 查看文件倒数n行
  • Tab 键可以自动补全文件名 1.tab
  • History 查看操作的记录
  • echo hello >> 1.txt  追加hello到1.txt尾部echo hello > 1.txt  将hello覆盖1.txt内容   如果没有该文件  创建一个有内容的文件
  • vi 文件名
    • 进入i或者回车
    •   退出编辑模式进入末尾命令行 esc  shift+;
    •  q 退出无修改模式
    •  wq 退出并保存
    •  q!强制退出,不保存
    •  e!撤销更改,返回到上一次保存的状态
    • w 文件名 另存为
    • Ctrl+u:向文件首翻半屏;
      Ctrl+d:向文件尾翻半屏;
      Ctrl+f:向文件尾翻一屏;
      Ctrl+b:向文件首翻一屏;
      Esc:从编辑模式切换到命令模式;
      ZZ:命令模式下保存当前文件所做的修改后退出vi;
      :行号:光标跳转到指定行的行首;
      :$:光标跳转到最后一行的行首;
      x或X:删除一个字符,x删除光标后的,而X删除光标前的;
      D:删除从当前光标到光标所在行尾的全部字符;
      dd:删除光标行正行内容;
      ndd:删除当前行及其后n-1行;
      nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
      p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
      P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
      /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
      ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
      a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
      a:在当前字符后添加文本;
      A:在行末添加文本;
      i:在当前字符前插入文本;
      I:在行首插入文本;
      o:在当前行后面插入一空行;
      O:在当前行前面插入一空行;
      :wq:在命令模式下,执行存盘退出操作;
      :w:在命令模式下,执行存盘操作;
      :w!:在命令模式下,执行强制存盘操作;
      :q:在命令模式下,执行退出vi操作;
      :q!:在命令模式下,执行强制退出vi操作;
      :e文件名:在命令模式下,打开并编辑指定名称的文件;
      :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
      :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
      :set number:在命令模式下,用于在最左端显示行号;
      :set nonumber:在命令模式下,用于在最左端不显示行号;
  • 规则:
  • /*!.gitignore!/fw/bin/!/fw/sf/
  • 说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
  • 如何上传本地项目
  • 1,
  • 这个创建有创建空仓库 和有东西仓库两种    如果你只填项目名  项目描述

如上图所示是属于一个新仓库

用git命令窗可操作Linux命令   echo "# js00000" >> README.md  追加# js00000到 README.md尾部   echo hello > 1.txt  将hello覆盖1.txt内容   如果没有该文件  创建一个有内容的文件

在你的本地项目文件夹下操作  git init 初始化仓库(node都可以操作linux命令)

最常用的几行代码  下面这几行  git add 文件名(或者.)把本地文件添加到暂存区     git commit -m "注释(提交说明会在线上提交文件后看到)"  将暂存区文件提交到历史区  git remote add origin(默认给仓库地址起的名字可以自己起)  仓库地址      与线上仓库建立连接关系  git push -u origin master  提交线上


关于线上仓库有文件的情况  也就是创建仓库时勾选了包括README.md.gitignore 协议 如下图

这个样子    这种情况在本地项目文件夹下  运行git bash   先git init   然后 git pull 项目地址(一定要先pull一下) 下面还是那些步骤    其中还会用到一个 git  status 查看提交文件状态  为红色则在文件夹内工作区   为绿色则在暂存区  git remote查看绑定的远程地址





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积码成猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值