github linux 命令行操作实例

继续整理一下linux 下面使用命令行操作实例

首先创建文件目录 然后 执行 git clone 操作

[email protected]:~/桌面$ cd test/
[email protected]:~/桌面/test$ git clone https://github.com/timelessz/TESTDEMO.git正克隆到 ‘TESTDEMO‘...remote: Counting objects: 3, done.remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (3/3), done.

下面是执行 git --help 操作

[email protected]:~/桌面/test$ git --help
用法:git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

最常用的 git 命令有:
   add        添加文件内容至索引
   bisect     通过二分查找定位引入 bug 的变更
   branch     列出、创建或删除分支
   checkout   检出一个分支或路径到工作区
   clone      克隆一个版本库到一个新目录
   commit     记录变更到版本库
   diff       显示提交之间、提交和工作区之间等的差异
   fetch      从另外一个版本库下载对象和引用
   grep       输出和模式匹配的行
   init       创建一个空的 Git 版本库或重新初始化一个已存在的版本库
   log        显示提交日志
   merge      合并两个或更多开发历史
   mv         移动或重命名一个文件、目录或符号链接
   pull       获取并整合另外的版本库或一个本地分支
   push       更新远程引用和相关的对象
   rebase     本地提交转移至更新后的上游分支中
   reset      重置当前HEAD到指定状态
   rm         从工作区和索引中删除文件
   show       显示各种类型的对象
   status     显示工作区状态
   tag        创建、列出、删除或校验一个GPG签名的 tag 对象

测试新建一个文件然后上传

[email protected]:/home/timeless/桌面/test/TESTDEMO# vi demo
[email protected]:/home/timeless/桌面/test/TESTDEMO# git add ./*
[email protected]:/home/timeless/桌面/test/TESTDEMO# git commit

*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account‘s default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got ‘[email protected](none)‘)

遇到错误,是没有运行git config --global user.email "[email protected]"   来表明我的身份。

运行  该语句便可。

[email protected]:/home/timeless/桌面/test/TESTDEMO# git config --global user.email "[email protected]"
[email protected]:/home/timeless/桌面/test/TESTDEMO# git  commit -a  -m 第一次提交
git commit 操作参数:用法:git commit [选项] [--] <路径规则>...

    -q, --quiet           提交成功后不显示概述信息
    -v, --verbose         在提交说明模板里显示差异

提交说明选项
    -F, --file <文件>     从文件中读取提交说明
    --author <作者>       提交时覆盖作者
    --date <日期>         提交时覆盖日期
    -m, --message <说明>  提交说明
    -c, --reedit-message <提交>
                          重用并编辑指定提交的提交说明
    -C, --reuse-message <提交>
                          重用指定提交的提交说明
    --fixup <提交>        使用 autosquash 格式的提交说明用以修正指定的提交
    --squash <提交>       使用 autosquash 格式的提交说明用以压缩至指定的提交
    --reset-author        现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)
    -s, --signoff         添加 Signed-off-by: 签名
    -t, --template <文件>
                          使用指定的模板文件
    -e, --edit            强制编辑提交
    --cleanup <default>   设置如何删除提交说明里的空格和#注释
    --status              在提交说明模板里包含状态信息
    -S, --gpg-sign[=<key id>]
                          GPG 提交签名

提交内容选项
    -a, --all             提交所有改动的文件
    -i, --include         添加指定的文件到索引区等待提交
    --interactive         交互式添加文件
    -p, --patch           交互式添加变更
    -o, --only            只提交指定的文件
    -n, --no-verify       绕过 pre-commit 钩子
    --dry-run             显示将要提交的内容
    --short               以简洁的格式显示状态
    --branch              显示分支信息
    --porcelain           机器可读的输出
    --long                以长格式显示状态(默认)
    -z, --null            条目以NUL字符结尾
    --amend               修改先前的提交
    --no-post-rewrite     绕过 post-rewrite 钩子
    -u, --untracked-files[=<模式>]
                          显示未跟踪的文件,“模式”的可选参数:all、normal、no。(默认:all)

执行git push 推送

[email protected]:/home/timeless/桌面/test/TESTDEMO# git push
Username for ‘https://github.com‘: timelessz
Password for ‘https://[email protected]‘:
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 305 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/timelessz/TESTDEMO.git
   a01a7c2..b15b255  master -> master

异常信息处理

实例  新开一个linux 命令行实例

新建文件夹  执行 git clone  文件 url

[email protected]:~/桌面/demo$ git clone https://github.com/timelessz/TESTDEMO.git
正克隆到 ‘TESTDEMO‘...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
检查连接... 完成。
[email protected]:~/桌面/demo$ ls
TESTDEMO

新的会话中修改文件

[email protected]:~/桌面/demo/TESTDEMO$ ls
demo  README.md[email protected]:~/桌面/demo/TESTDEMO$ vi demo [email protected]:~/桌面/demo/TESTDEMO$ git add .[email protected]:~/桌面/demo/TESTDEMO$ git commit -a -m "第二次测试"[master 6b98505] 第二次测试 1 file changed, 1 insertion(+), 1 deletion(-)[email protected]:~/桌面/demo/TESTDEMO$ git push

github 异常处理:

[email protected]:/home/timeless/桌面/test/TESTDEMO# vi demo     //修改本地文件 同时提交
[email protected]:/home/timeless/桌面/test/TESTDEMO# git add .
[email protected]:/home/timeless/桌面/test/TESTDEMO# git commit -a -m "赵兴壮测试冲突异常"   //提交文件发现问题
[master d948414] 赵兴壮测试冲突异常
 1 file changed, 1 insertion(+), 1 deletion(-)
[email protected]:/home/timeless/桌面/test/TESTDEMO# git push
Username for ‘https://github.com‘: timelessz
Password for ‘https://[email protected]‘:
To https://github.com/timelessz/TESTDEMO.git
 ! [rejected]        master -> master (fetch first)
error: 无法推送一些引用到 ‘https://github.com/timelessz/TESTDEMO.git‘    //版本异常
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 ‘git pull ...‘)。
提示:详见 ‘git push --help‘ 中的 ‘Note about fast-forwards‘ 小节。
[email protected]:/home/timeless/桌面/test/TESTDEMO# git pull    //首先pull 下来解决问题
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
来自 https://github.com/timelessz/TESTDEMO
   b15b255..6b98505  master     -> origin/master
自动合并 demo
冲突(内容):合并冲突于 demo
自动合并失败,修正冲突然后提交修正的结果。
[email protected]:/home/timeless/桌面/test/TESTDEMO# git diff
diff --cc demo
index 8677aea,fc19e2b..0000000
--- a/demo
+++ b/demo
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
 +赵兴壮测试实现   异常的版本
++=======
+ 赵兴壮测试实现   我不喜欢文件
++>>>>>>> 6b98505ba81551d18ad01e82f59dc7ae3e6f1d5e
[email protected]:/home/timeless/桌面/test/TESTDEMO# vi demo   //修改文件处理完 版本之后
[email protected]:/home/timeless/桌面/test/TESTDEMO# git add .
[email protected]:/home/timeless/桌面/test/TESTDEMO# git commit -a -m "处理冲突之后"
[master f7a190d] 处理冲突之后
[email protected]:/home/timeless/桌面/test/TESTDEMO# git push
Username for ‘https://github.com‘: timelessz
Password for ‘https://[email protected]‘:
Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 534 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/timelessz/TESTDEMO.git
   6b98505..f7a190d  master -> master

异常处理完成。

论坛收集别人对于使用github经验:

  • 多用工具,少用命令行,除非迫不得已使用linux服务器。
  • 提交前首先diff 代码一下,一面出现错误。
  • 下班回家之前整理好自己的工作区,第二天上班节省时间,防止代码混乱。
  • 并行的项目,比如好多模块需要一块开发,使用分支开发,有效减少项目风险。
  • push 时候遇到冲突,弄明白冲突的原因,不要求起别人代码。
  • 产品发布之后记得打bug,方便将来拉分支修改bug。
时间: 2024-10-03 14:02:29

github linux 命令行操作实例的相关文章

LINUX命令行操作

Linux 命令行快捷键 7条回复 涉及在linux命令行下进行快速移动光标.命令编辑.编辑后执行历史命令.Bang(!)命令.控制命令等.让basher更有效率. 说明 Ctrl – k: 先按住 Ctrl 键,然后再按 k 键: CAlt – k: 先按住 Alt 键,然后再按 k 键: M – k:先单击 Esc 键,然后再按 k 键. 移动光标 Ctrl – a :移到行首 Ctrl – e :移到行尾 Ctrl – b :往回(左)移动一个字符 Ctrl – f :往后(右)移动一个字

【转帖】Linux命令行操作json神器jq

https://www.cnblogs.com/chenqionghe/p/11736942.html jq类似一个awk或grep一样的神器,可以方便地在命令行操作json 这里我使用海南万宁的天气接口做演示,地址:http://t.weather.sojson.com/api/weather/city/101310215 一.安装 官网:https://stedolan.github.io/jq/download/基本就是brew install.apt install.yum instal

Linux命令行操作快捷键及技巧

Linux系统操作中,大部分都没有使用快捷键的习惯,觉得鼠标点方便些,其实在某些操作中,使用快捷键能节省不少时间,下面就给大家详细介绍下Linux系统快捷键,仅供大家参考. 历史命令查询 · !! 执行上一条命令 · !$ 代表上一个命令的最后一个字符串 · !num 执行历史命令中第num条命令 · !-num 执行历史命令中倒数第num条命令 · !?string? 执行最近一条包含有string字符串的命令 . Ctrl + r 查找(历史命令). history|grep . ctrl

linux命令行操作快捷键

在shell命令终端中,Ctrl+n相当于方向向下的方向键,Ctrl+p相当于方向向上的方向键. 在命令终端中通过它们或者方向键可以实现对历史命令的快速查找.这也是快速输入命令的技巧. 在命令终端中可以通过Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r. Ctrl+a:光标回到命令行首. (a:ahead) Ctrl+e:光标回到命令行尾. (e:end) Ctrl+b:光标向行首移动一个字符. (b:backwards) Ctrl+ f:光标向行尾移动一个字

memcache 命令行操作

今天找了很久,如何在服务器直接查看memcache 的值, 来确定php中memcache是否已经写进去了 https://www.ttlsa.com/memcache/memcache-list-all-keys/ 这个方法不仅适用于windowns 的cmd   .  也适用于linux 命令行操作, 下面是具体内容 今天在做一个Memcache的session测试,但是在测试的过程中,发现Memcache没有一个比较简单的方法可以直接象redis那样keys *列出所有的Session k

Linux命令行基础 、 基础命令操作 、 目录文件基本操作

  Linux命令行基础 基础命令使用 目录和文件基本管理 #################################################   一.Linux命令行基础   1. 什么是命令.命令行    命令:能够被Linux系统识别,用来完成某一类功能的指令或程序                           |--> 依赖于Shell解释器,查看:cat/etc/shells 默认为 /bin/bash    命令行:用户输入的命令及相关参数,按Enter键提交的

GitHub代码托管工具的命令行操作

一.首先需要在GitHub上注册一个账户,帐号密码情牢记. 二.生成SSH keys  添加自己电脑的SSH Key到github上,目的是要将自己的电脑本地与github关联起来,才能实现本地和远端的同步操作.  一下操作全部在终端完成. 生成步骤:1.检查是否存在SSH Keys $ ls -al ~/.ssh // Lists the files in your .ssh directory, if they exist 2.生成一个新的SSH Keys 第一步:需要验证注册的邮箱 $ s

linux快速入门 1.1命令行操作

http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 <wp_nokeywordlink>Shell 控制台使用方法 1.1.1 Shell简介 shell 是用户和Linux 操作系统之间的接口.Linux 中有多种shell,其中缺省使用的是bash. Linux 系统的shell 作为操作系统的外壳为用户提供使用操作系统的接口,它是一个命令语言解释

Linux命令行中对表格类型文本的几处操作总结

Linux命令行中对打印成表格类型的文本进行操作 先创建一个文件list.txt,包含三列数据(姓名.年龄.职业) 每行一组数据,每组数据不同的列,用空格隔开 Tsybius 23 ProgrammerGalatea 21 SwordsmanGaius 20 UnknownFenix 25 EngineerJulia 22 MerchantTsybius 23 ProgrammerTsybius 23 ProgrammerXenia 15 StudentFlavia 29 TeacherGaiu