Git&GitHub

基本命令行

什么是命令行

  • GUI(Graphical user interface)
  • Cli(Command-line interface)

常用命令

  • pwd 当前所处目录
  • ls 当前目录所有文件
  • ls -a 显示全部文件 ./当前 ../上一层目录
  • ls -l 目录更详细信息
  • cd 切换目录
  • mkdir 创建目录
  • mkdir -p 传路径作为参数
  • touch 创建文件
  • rm 删除文件
  • rm -r 删除目录
  • mv 重命名
  • cp 拷贝
  • echo 打印
  • cat 输出
  • cat xx | less 一行行输出
  • hend 显示前部
  • tail 显示尾部
  • du -sh 人类可读文件大小
  • man xx ; xx --help ; x -h ;帮助文档

小技巧

  • ~ user/用户名
  • !! 重复上次命令
  • alt+. 上次最后参数
  • “" 参数含有空格
  • '-' 返回上次目录

命名行的使用规则

  • 命令名 子命令 -p --param --param2=xx
  • 大小写敏感

版本控制

Git&GitHub

Linus 大神又一力作,Linux作者

本地操作

  • git init 创建仓库
  • git add
    1.1添加文件改动
    1.2也会开启文件跟踪的效果
  • git commit 把变动提交到本地仓库
    1.1 git commit -m
    1.2 git commit -v

远程操作

  • git clone 仓库地址 克隆远程仓库
  • git status -s 当前文件状态
  • git push origin master:master 本地仓库推送远程仓库
  1. 一个仓库可以有多个远程仓库
  2. 每一个仓库有个名字,默认仓库名origin
  3. 每一个本地仓库可以有多个分支,默认分支名master
  4. 本地的分支名和对应远程的分支名可以不同
  • git remote add origin 仓库地址 远程创建一个仓库
  • git pull 远程仓库同步至工作目录
    1.1 UU README.md 文件冲突
    1.2 解决冲突 ==== <<<< >>>>
  • git fetch 同步至本地仓库
  • git merge origin/master 远程分支合并至当前

新建远程分支

  • git branch 创建本地分支
    1.1 git branch -d xx 删除分支
    1.2 git branch -D XX 强制删除
    1.3 git branch -a 查看全部分支
  • git checkout 切换本地分支
  • git push origin xx:xx 本地分支同步远程分支
    1.1 git push origin :xx 把空分支同步远程分支,删除远程分支
  • git merge xx 合并分支到master

反悔功能

  • git reset commit 本地仓库回溯
    1.1 git reset --hard commit_id 工作目录同步回溯;慎用
    只要commit过,就不会丢失。即使reset --hard

git 命令梳理表格

命令 可选 参数 作用
git init none 创建一个本地仓库
git add . 文件添加至本地仓库
git commit -m "" --amend none 文件提交至本地仓库;--amend执行选项,编辑工具会显示最近一次提交的提交消息
git revert HEAD 可以取消指定的提交内容;使用后面要提到的rebase-i或reset也可以删除提交。但是,不能随便删除已经发布的提交,这时需要通过revert创建要否定的提交。
git reset --hard 仓库回溯到指定HEAD;ORIG_HEAD还原重置之前的HEAD
git cherry-pick 把在其他分支执行的的修改导入到master分支
git status -sb none 查看仓库当前的状况;ahead:领先
gitk none GUI界面查看仓库分支情况
git diff none 查看文件具体修改内容
git log --pretty --oneline --graph --oneline --decorate none 显示更新记录;文本形式显示更新记录的流程图;显示包含标签资料的历史记录
git reflog none 显示执行过的命令历史
git clone none 克隆远程仓库
git push none 本地仓库推送至远程仓库
git pull none 远程仓库拉取至本地仓库;这时只执行fast-forward合并;执行pull就可以进行合并。这时,如果没有冲突的修改,就会自动创建合并提交。如果发生冲突的话,要先解决冲突,再手动提交;实际上pull的内容是fetch + merge组成的。
git fetch none 远程仓库同步至本地仓库
git merge --squash 合并分支到master分支;fast-forward(快进)合并; 解决合并的冲突:这种合并不是fast-forward合并,而是non fast-forward合并。
git rebase --continue --abort -i 使用rebase可以使提交的历史记录显得更简洁;修改冲突后的提交不是使用commit命令,而是执行rebase命令指定 --continue选项。若要取消rebase,指定 --abort选项;执行-i选项,将指定的HEAD合并,将第二行的“pick”改成“squash”,然后保存并退出,所以接着会显示提交信息的编辑器,请编辑信息后保存并退出。
git branch -a -d -D 创建、查看、删除、强制删除分支
git checkout -b 创建分支并进行切换、切换分支
git stach none 暂存工作树和索引里还没提交的修改内容
git tag -a -am -n -d -a选项执行。执行后会启动编辑区,请输入注解,也可以指定-m选项来添加注解;-n选项执行,可以显示标签的列表和注解; -d选项执行,删除标签

你可能感兴趣的:(Git&GitHub)