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 ...
随机推荐
- 初步了解HTTP
HTTP简介: HTTP:HyperText Transfer Protocol 超文本传输协议,是因特网上使用最为广泛的一种网络传输议,是用于从万维网(www :world wide web)服 ...
- angularjs4+ionic3集成搭建
1:安装一下cnpm用淘宝镜像安装npm install -g cnpm --registry=https://registry.npm.taobao.org 2:使用 cnpm命令安装(全局安装 A ...
- Day 5-7 exec 和元类的创建.
exec方法 元类 exec(str_command,globals,locals)参数1:字符串形式的命令参数2:全局作用域(字典形式). 如果不指定,默认globals参数3:局部作用(字典形式) ...
- Day 4-11 re正则表达式
正则表达式就是字符串的匹配规则,在多数编程语言里都有相应的支持,python里对应的模块是re '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' ...
- centOS 7下无法启动网络(service network start)错误解决办法
今天在centOS 7下更改完静态ip后发现network服务重启不了,翻遍了网络,尝试了各种方法,终于解决了. 现把各种解决方法归纳整理,希望能让后面的同学少走点歪路... 首先看问题:执行serv ...
- django rest framework权限和认证
Django rest framework之权限 一.Authentication用户认证配置 1.四种验证及官网描述: BasicAuthentication 此身份验证方案使用HTTP基本身份验证 ...
- linux ps命令用法
-A 列出所有的进程-w 显示加宽可以显示较多的资讯-au 显示较详细的资讯-aux 显示所有包含其他使用者的行程 -A 显示所有进程(等价于-e)(utility)-a 显示 ...
- final关键字的用法
final关键字的作用 1.被final修饰的类不能被继承 报错信息:cannot inherit from final 'com.dajia.test.Animal' 2.被final修饰的方法不能 ...
- 如何快速定位到DBGrid的某一行!!!急...
比如我查找张三,那么DBGrid就可以定位到张三那行并选中这行,除了用循环实现还有没有快速定位的方法,谢谢! 解决方案 » to SuperTitan001 那如何找到张三的这行呢?除了用循环还有什么 ...
- 转 freemarker macro(宏)的使用
有人说用freemarker,但没有用到它的宏(macro),就=没有真正用过freemarker.说的就是宏是freemarker的一大特色. 宏的定义可以查看相关的文档,里面介绍得很清楚,下面来看 ...














