Git分享

一、git介绍: 最好用的一款版本控制软件

1.1、优缺点:

优点:

适合分布式开发,强调个体。

公共服务器压力和数据量都不会太大。

速度快、灵活。

任意两个开发者之间可以很容易的解决冲突。

离线工作。

缺点:

资料少(起码中文资料很少)。

学习周期相对而言比较长。

不符合常规思维。

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

1.2、历史简介:

关键词:Linus Torvalds 、 BitKeeper

原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。

Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:

Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。

Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。

历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

-------摘自 廖雪峰官网

二、git的使用

1、下载及安装

1.1 Git2.9.2-64bit

1.2 SourceTreeSetup_1.9.5.0

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

工作流

2.1、新建代码库

# 在当前目录新建一个Git代码库 # 新建一个目录,将其初始化为Git代码库 [-]# 下载一个项目和它的整个代码历史 []

$ git config --# 编辑Git配置文件 -[--]# 设置提交代码时的用户信息 [--]."wtf"[--]."[email protected]"

设置别名:

git config --global alias.lol "log --oneline --decorate --graph --all"

2.3 增加/删除文件

# 添加指定文件到暂存区 [][]...# 添加指定目录到暂存区,包括子目录 []# 添加当前目录的所有文件到暂存区 .# 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 -# 删除工作区文件,并且将这次删除放入暂存区 [][]...# 停止追踪指定文件,但该文件会保留在工作区 --[]# 改名文件,并且将这个改名放入暂存区 [-][-]2.4 代码提交

# 提交暂存区到仓库区 -[]# 提交暂存区的指定文件到仓库区 [][]...-[]# 提交工作区自上次commit之后的变化,直接到仓库区 -# 提交时显示所有diff信息 -# 使用一次新的commit,替代上一次提交 # 如果代码没有任何新变化,则用来改写上一次commit的提交信息 ---[]# 重做上一次commit,并包括指定文件的新变化 --[][]...2.5 分支

# 列出所有本地分支 # 列出所有远程分支 -# 列出所有本地分支和远程分支 -# 新建一个分支,但依然停留在当前分支 [-]# 新建一个分支,并切换到该分支 -[]# 新建一个分支,指向指定commit [][]# 新建一个分支,与指定的远程分支建立追踪关系 --[][-]# 切换到指定分支,并更新工作区 [-]# 切换到上一个分支 -# 建立追踪关系,在现有分支与指定的远程分支之间 ---[][-]# 合并指定分支到当前分支 []# 删除分支 -[-]# 删除远程分支 --[-]-[/]2.6 标签

# 列出所有tag # 新建一个tag在当前commit []# 新建一个tag在指定commit [][]# 删除本地tag -[]# 删除远程tag ://tagName $ git show tag $ git push remote tag $ git push remote --# 新建一个分支,指向某个tag -[][]2.7 查看信息

# 显示有变更的文件 # 显示当前分支的版本历史 # 显示commit历史,以及每次commit发生变更的文件 --# 搜索提交历史,根据关键词 -[]# 显示某个commit之后的所有变动,每个commit占据一行 []--=:%# 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 []--# 显示某个文件的版本历史,包括文件改名 --[][]# 显示指定文件相关的每一次diff -[]# 显示过去5次提交 - ----# 显示所有提交过的用户,按提交次数排序 -# 显示指定文件是什么人在什么时间修改过 []git diff 查看与暂存区的差异

..中间是两个点 $ git show commit $ git show ---[]# 显示某次提交时,某个文件的内容 []:[]# 显示当前分支的最近几次提交 2.8 远程同步

<><><>

<><><>

---/如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。-2.9 撤销

# 恢复暂存区的所有文件到工作区 .

# 恢复暂存区的1.txt文件到工作区 git checkout -- 1.txt

git reset HEAD^ -- soft 还原至上一个版本(工作区和暂存区都会保留,相当于未commit状态)

git reset HEAD^ --mixed 默认 还原至上一个版本(只保留工作区,相当于未add状态)

git reset HEAD^ --hard 还原至上一个版本(都不保留)

时间: 2024-11-05 22:34:34

Git分享的相关文章

git分享:Git_DataPro

基于TCP/UDP网络协议,在Java NIO特性下实现Socket通信,实现终端设备数据的实时接收解析存储.主要技术点:多线程.缓存.C3P0连接池等. <项目运行:打包下载所有文件导入Eclipse,将datapro.sql导入mysql数据库即可> 网址: https://git.oschina.net/undoner/Git_DataPro git: http://git.oschina.net/undoner/Git_DataPro.git git分享:Git_DataPro

git分享:Git_MinaPro

Apache MINA+MyBatis+EHcache定制开发,实现终端设备数据的实时接收解析存储. <项目运行:打包下载所有文件导入Eclipse,将datapro.sql导入mysql数据库即可> 网址: https://git.oschina.net/undoner/Git_MinaPro git: http://git.oschina.net/undoner/Git_MinaPro.git git分享:Git_MinaPro

eclipse git 分享项目到GitHub上

先在github上创建仓库 原文地址:https://www.cnblogs.com/hwgok/p/9508383.html

git 安装与基本操作

it是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持. 安装环境: [[email protected]_client2 git]# cat /etc/redhat-release CentOS release 6.9 (Final) [[em

常用Git命令汇总

常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代码用Git作版本控制.平时自己虽然天天使用Git,但是总感觉知识有些零散,于是汇总了一些常用的Git命令. 常用配置 --system #系统级别 --global #用户全局 --local #单独一个项目 git config --global user.name "xxxx" #用户

git 远程仓库

Git 并不像SVN那样有个中心服务器. 目录我们使用到Git命令都是在本地执行,如果你想通过Git分享你的代码或者与其他的开发人员合作.你就需要将数据放到一台其他的开发人员能够连接的服务器上. 本例中使用了Github作为远程仓库,你可以先阅读我们Github简明教程. 添加远程库 要添加一个新的远程仓库,可以指定一个简单的名字,以便来引用命令如下: git remote add [shortname] [url] 本例以Github为例作为远程仓库,如果你没有Github可以在官网https

Git 远程仓库(Github)

Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作. 你就需要将数据放到一台其他开发人员能够连接的服务器上. 本例使用了 Github 作为远程仓库,你可以先阅读我们的 Github 简明教程. 添加远程库 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下: git remote add [shortname] [url] 本例以Githu

Git 与 GitHub 入门级

今天我们来搞一下Git 这东西虽然没啥搞头儿,但是开发当中还必须得会用,谁让你我都是苦逼的开发呢~~~~ 一.下载与安装 这玩意简单,给你赋个图片,自己研究一下~~~~ 1.官网:https://git-scm.com/downloads 2.下载: 3.主要事项: 还有安装的路径,尽量都是英文,别整中文 4.安装完成,需要做进一步的设置 打开这个图标: 打开后的样子(版本不一样,可能有点差别,大同小异) Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识. 命令: 设置用户名:g

git附加

1.附上标签 git tag -a v1.0 -m "":给最新一次提交打上(HEAD)“v1.0”的标签[-a创建一个带注解的标签,-m注释] 查看标签:git log --decorate 2.远程仓库 Git并不像svn那样有个中心服务器,如果想通过Git分享代码或者与其余人一起合作开发,需要将数据放到一台其他开发人员能够连接到的服务器 原文地址:https://www.cnblogs.com/sharry/p/11951490.html