Git Base For Linux
GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html
Linux安装git,做个记录吧(使用github提供的隐私邮箱)
# git官方手册 https://git-scm.com/book/zh/v2
# 1.安装Git
sudo apt-get install git
# 2.设置用户名和邮箱(使用Github提供的隐私邮箱)
git config --global user.name "Your Name"
git config --global user.email xxx+名称@users.noreply.github.comgit config --list #查看所有配置
# 3.克隆现有git仓库 (支持多种链接协议)
git clone https://github.com/lotapp/BaseCode.git
# 4.检查当前文件状态
git status #随时可以查状态
# 5.这时候你增加文件都是未跟踪的(如果之前并不存在这个文件,那么就没法跟踪了)
cp -r python/ BaseCode/
# 6.添加跟踪文件
git add xxx# 7.检查当前文件状态
git status #现在已被跟踪,并处于暂存状态
# 8.提交更新
git commit -m "备注信息"
# 9.1修改文件
# 要查看尚未暂存的文件更新了哪些部分(跟历史版本的对比)
git diff 修改的文件# 后一般都是先把修改后的文件,git add 一下(添加修改都是这个命令)
#git其实提供了一个便捷的方法 git commit -a -m "xxx"
git commit -a -m "test skip git add"
# 9.2删除文件 一样可以用 git commit -a -m "xxx" 来快速提交
git commit -a -m "test skip git add"
# 10.推送到远程端
git push #默认是git pull origin master,其他需要指定(修改了origin也可以用git push来默认推送到clone的那个远程仓库)
关于查看历史提交的扩展:(冲突的时候经常用)
# 查看历史提交
git log
# 常用的选项是 -p,用来显示每次提交的内容差异
git log -p -2 #查看最近两次提交
# 每次提交的简略的统计信息(应用场景:快速浏览小伙伴commit所带来的变化的时候)
git log --stat
git log --stat -p -2 #可以联合使用
--stat 选项在每次提交的下面列出所有被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结
--------------------------------------------------------------------
扩展(冲突查明细): git log --pretty=format eg:(--graph是美化输出)
git log --pretty=oneline --graph #一行显示,数据量大的时候用比较方便
git log --pretty=format:"%h - %an, %ar : %s" #时间显示
如果出现冲突,可以先运行 git fetch 拉取一下远端仓库进行同步
快速版
get pull # 同步代码
get add --all # 添加新文件
get commit -a -m "注释" # 提交本次修改
get push # 推送到仓库
git checkout xxx # 撤销文件修改
--------------------------------------------------
# .安装Git
sudo apt-get install git -----------------------
# .设置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email xxx+名称@users.noreply.github.com git config --list #查看所有配置 -----------------------
# .克隆现有git仓库
git clone https://github.com/lotapp/BaseCode.git -----------------------
# .检查当前文件状态
git status #随时可以查状态 -----------------------
# .这时候你增加文件都是未跟踪的(如果之前并不存在这个文件,那么就没法跟踪了)
cp -r python/ BaseCode/ -----------------------
# .添加跟踪文件
git add --all # 添加全部文件
git add xxx -f # 添加某个被忽略的文件
-----------------------
# .检查当前文件状态
git status #现在已被跟踪,并处于暂存状态 -----------------------
# .提交更新
git commit -m "备注信息" -----------------------
# .1修改文件
# 要查看尚未暂存的文件更新了哪些部分(跟历史版本的对比)
git diff 修改的文件 # 后一般都是先把修改后的文件,git add 一下(添加修改都是这个命令)
#git其实提供了一个便捷的方法 git commit -a -m "xxx"
git commit -a -m "test skip git add" # .2删除文件 一样可以用 git commit -a -m "xxx" 来快速提交
git commit -a -m "test skip git add" -----------------------
# .推送到远程端(如果是多个远程仓库还是建议写全)
git push #默认是origin master #如果是多个远程仓库还是建议写全:(修改了origin也可以用git push来默认推送到clone的那个远程仓库)
git push origin master
# 11.同步代码
git pull
-----------------------
# 查看历史提交
git log # 常用的选项是 -p,用来显示每次提交的内容差异
git log -p - #查看最近两次提交 # 每次提交的简略的统计信息(应用场景:快速浏览小伙伴commit所带来的变化的时候)
git log --stat
git log --stat -p - #可以联合使用 --stat 选项在每次提交的下面列出所有被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结
扩展(冲突查明细): git log --pretty=format eg:(--graph是美化输出)
git log --pretty=oneline --graph #一行显示,数据量大的时候用比较方便
git log --pretty=format:"%h - %an, %ar : %s" #时间显示
-------------------------------------------------------------
扩展
1.clone指定分支:git clone -b name https://github.com/lotapp/cpython.git
2.fetch更新本地仓库两种方式:(有更简单的方法可以提一下)
//方法一
git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master git log -p master.. origin/master//比较本地的仓库和远程参考的区别 git merge origin/master//把远程下载下来的代码合并到本地仓库,远程的和本地的合并 //方法二
git fetch origin master:temp //从远程的origin仓库的master分支下载到本地并新建一个分支temp git diff temp//比较master分支和temp分支的不同 git merge temp//合并temp分支到master分支 git branch -d temp//删除temp
todo
GPG防止伪签名提交:
基本上用不到,贴几个文章课后拓展一下:
https://www.freebuf.com/news/140413.html
https://help.github.com/articles/signing-commits
https://help.github.com/articles/generating-a-new-gpg-key
https://help.github.com/articles/managing-commit-signature-verification
Git Base For Linux的更多相关文章
- git diff与linux diff的输出格式之unified format
前言 前面有一篇文章<一个有些意思的项目--文件夹对比工具(一)>,里面简单讲了下diff算法之--Myers算法. 既然是算法,就会有实现,比如git diff中有Myers的实现,gi ...
- Git - Download for Linux and Unix
It is easiest to install Git on Linux using the preferred package manager of your Linux distribution ...
- 【Linux部署 · GIT】在linux系统安装git和配置实现SSH
领导给了一个不开放ftp的测试库,让我部署项目.拿到一个全新的环境,真是个练手的好机会. 该操作系统为:CentOs release 6.5(Final) 由于不开放ftp,所以上传下载代码是非常麻烦 ...
- Git使用:Linux(Ubuntu 14.04 x64)下安装Git并配置连接GitHub
github是一个非常好的网络代码托管仓库,知晓许久,但是一直没有用起来,最近才开始使用git管理自己的文档和代码. Git是非常强大的版本管理工具,今天就告诉大家,如何在Linux下安装GIt,并且 ...
- Jenkins与Git持续集成&&Linux上远程部署Java项目
一.环境搭建 1.安装所需软件 Jdk Maven Jenkins Tomcat Xshell git 以上软件去官网下载,比较简单,不一一描述了 2.安装所需的jenkins插件 Git plugi ...
- Git 安装 windows && linux
一.安装: windows下安装Git: 1.下载Git:https://git-scm.com/download/win 2.安装Git:默认安装,一直回车 Linux下安装Git: yum安装: ...
- Git Base 操作(一)
Git常用命令 1. 命令git init把这个目录变成Git可以管理的仓库: 2. 命令git commit把文件提交到仓库 这里需要注意的是,Git只能跟踪文本文件的改动,如txt文件,网页,所有 ...
- 【Git 一】Linux安装Git
一.Git 的优势 #简单说一下 Git 的优势. 1.版本库本地化,支持离线提交,相对独立不影响协同开发. 2.支持快速切换分支方便合并,比较合并性能好. 3.分布式管理,适应不同的业务场景. 4. ...
- 关于 Git使用的全面总结 —— 致敬Git之父Linux
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px ".PingFang SC"; color: #454545 } p.p2 ...
随机推荐
- JavaScript charAt() 方法
<script> var str="abcdef"; alert(str[0]); //a,高版本浏览器兼容 alert(str.charAt(0)); //a,兼容所 ...
- 字符串正则替换replace第二个参数是函数
zepto中 //将字符串转成驼峰式的格式 camelize = function (str) { return str.replace(/-+(.)?/g, function (match, chr ...
- Dart语法基础
hello world // Define a function. printNumber(num aNumber) { print('The number is $aNumber.'); // Pr ...
- Django Rest framework 框架之认证使用和源码执行流程
用这个框架需要先安装: pip3 install djangorestframework 如果写了一个CBV的东西,继承了View. # 继承Django里面View class APIView(Vi ...
- 从 Aliyun 经典网络迁移到 Aliyun VPC 网络
由于阿里云策略问题,要求用户从经典网络中全部迁出,搬迁到他们设置的 VPC 网络中.这里的 VPC 大概指的是逻辑上的一个虚拟局域网.即使是实际上你的机器垮机房在阿里云的不同机房.但是他们仍然能从逻辑 ...
- 好用的UI框架收集
1. we-ui 专门为微信内网页和微信小程序设计的UI框架
- python设计模式第七天【建造者模式】
1. 建造者模式UML图 2.应用场景 (1)专门创建具有符合属性的对象 3.代码实现 #!/usr/bin/env python #! _*_ coding: UTF-8 _*_ from abc ...
- [转]Java 的强引用、弱引用、软引用、虚引用
1.强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.如下: Object o=new Object(); // 强引用 当内存空间 ...
- LODOOP中的各种边距 打印项、整体偏移、可打区域、内部边距
Lodop中的打印项内容位置定位,除了打印项本身的top,left值,也会受其他设定或打印机的影响.打印开发,先用虚拟打印机测试出正确结果,然后客户端用打印维护微调常见问题:1.设置打印项相对于纸张居 ...
- P1164 小A点菜
原题链接 https://www.luogu.org/problemnew/show/P1164 此题是一道简单的动规问题 才学两天不是很熟练,我苦思冥想看着题解终于想出来了. 主要的思路如下: 我们 ...