[Linux] Git: 基本使用
Git 属于分布式版本控制系统( Distributed Version Control System,简称 DVCS )客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程。

Git 的基本工作流程:
1. 在工作目录中修改某些文件。
2. 对这些修改了的文件作快照,并保存到暂存区域。
3. 提交更新,将保存在暂存区域的文件快照转储到 git 目录中。

Git简单使用
// 创建服务器代码仓库
sudo useradd git
sudo passwd git
sudo mkdir -p /var/git.server/project1
cd /var/git.server
sudo chown git project1
sudo chgrp git project1
// 建立忽略
cd project1
$ cat > .gitignore << end
> *.[oa]
> *.so
> *~
> !a.so
> test
> tmp/
> end
sudo su git
sudo git --bare init
// 客户端使用
// 从服务器克隆代码库
git clone git@192.168.1.X:/var/git.server/project1 project1
git add a.txt // 添加新增文件
git add . // 添加新增文件
git commit -am "New Commit" // 提交版本
git commit --amend -am "Rename New Commit" // 重新提交,更改注释
git checkout -b abeen // 创建abeen分支
git branch // 查看所有分支
git checkout master // 切回master分支
git merge abeen // 合并abeen分支到master
git pull origin master// 从服务器刷新最新代码
git push origin master// 将代码刷新到服务器
git reset HEAD^ // 恢复到上次提交状态(HEAD^、HEAD~4、commit-id、tag)
git status // 查看当前track状态
git log // 查看提交日志
git log -3 // 查看最后三条提交日志
git log -3 --stat // 显示简单的统计信息
git log -l -p // 显示修改的详细信息
// 阶段性版本
git tag v0.9 // 创建标签
git tag // 显示所有标签
git log v0.9 // 用标签显示提交状态
git show --stat v0.9 // 用标签显示提交基本信息
git rm filename // 删除代码库里的文件
git checkout HEAD^ -- filename // 恢复文件
git rm --cache filename // 只从代码库删除文件,工作目录文件成未跟踪状态
git checkout HEAD^ -- filename // 签出以前的某个版本
git mv filename dirname // 移动文件
git show filename // 查看某个提交版本的具体信息
git diff HEAd^ filename // 比较版本差异
git reset -hard commit_id //恢复之前版本
远程仓库
git remote // 查看当前远程库
git remote -v (verbose简写)// 显示对应的克隆地址
git remote add [shortname] [ulr] // 添加远程仓库
git fetch [remote-name] // 获取远程仓库信息
git push origin master // 推送数据到远程仓库
git remote show [remote-name] // 显示远程仓库信息
git remote rename pb paul // 修改远程仓库对应名称
git remote rm paul // 删除远程仓库
---------------------------------------------
更多内容请参考《Pro Git》
[Linux] Git: 基本使用的更多相关文章
- linux git 推送空文件夹
/********************************************************************************* * linux git 推送空文件 ...
- Linux git 在自己的服务器上建立 git 仓库(repository)
Linux git 在自己的服务器上建立 git 仓库(repository) 服务器端: 在这里使用 ssh 方式登陆: ssh [username]@server_address(建议用超级用户登 ...
- Linux Git服务器安装
① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...
- Linux GIT服务器配置
Linux下安装git插件 1. 下载git网址: https://github.com/git/git/releases 2. 放入usr/src/下 3. tar -zxvf git-** ...
- linux git 安装方法
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...
- Linux git 关联 github仓库
背景: 由于最近学习Spring cloud docker 一键部署, 需要把github仓库项目, 放在Linux上面启动, (以下位置在/root/目录中执行)步骤, 1:安装 git >y ...
- Linux+Git命令
Linux 文件与目录 cd命令: $ cd [path] //path为路径名称,这只是常规语法 1 详细用法如下: $ cd /d //进入d盘 $ cd d: //进入d盘 $ cd D: // ...
- linux git保存用户名密码(避免每次push输用户名密码)
Linux/Unix/Mac 系统 新建一个 ~/.netrc 文件, 将 git 服务器, 用户名以及密码记录在这个文件, 如下所示: machine your-git-server log ...
- [linux] Git基本概念&操作
1.基本概念 版本控制系统:一种软体工程技巧,籍以在开发的过程中,确保由不同人所编写的同一项目代码都得到更新.并追踪.记录整个开发过程. 集中式(SVN)/ 分布式(GIT)版本控制系统:SVN的版本 ...
- 26. Linux GIT
windows git 下载链接: Msysgit https://git-scm.com/download/win 1 进入git bash进行第一次配置 git config --global ...
随机推荐
- uva 11324
Problem B: The Largest Clique Given a directed graph G, consider the following transformation. First ...
- UITbaleView上按钮的单选
设置Id属性,标记是哪个cell @property (nonatomic,assign)NSInteger Id; 设置一个普通状态和选中状态图片不同的按钮 _choose = [[UIButton ...
- 2015年4月 15款免费jQuery插件
点这里 We have collected for you the 15 fresh, free and handy jQuery plugins that will help to speed up ...
- 2014 ACM/ICPC Asia Regional Xi'an Online(HDU 5007 ~ HDU 5017)
题目链接 A题:(字符串查找,水题) 题意 :输入字符串,如果字符串中包含“ Apple”, “iPhone”, “iPod”, “iPad” 就输出 “MAI MAI MAI!”,如果出现 “Son ...
- js的in运算符与instanceof运算符
in运算符:希望他的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象.如果右操作数的对象拥有一个名为左操作数值的属性名,那么表达式返回true. var point= {x:1,y: ...
- win10开机密码怎么取消
win10怎么取消电脑开机密码?比较快捷的方法就是使用netplwiz在WIN2000以后的版本都是适用.最新版的WIN10同样也是适用的.下面我来演示一下win10开机密码怎么取消? 1. WIN1 ...
- MongoDB (五) MongoDB 数据库操作
一.MongoDB创建数据库: use 命令 MongoDB use DATABASE_NAME 用于创建数据库.该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库. 语法: use D ...
- MDK5.01百度云下载,安装微软雅黑混合字体,字体效果很棒,解决显示中文的BUG
微软雅黑字体http://pan.baidu.com/s/1nt9Epuh 初步尝试,以前的小BUG都已经解决了.下面是安装雅黑字体后的字体效果,很爽.第一步:安装雅黑字体.第二步:选择Edit--- ...
- sql server UI怎么设置自增加id?
设置表结构的时候,设置标识列就可以了啊 来自为知笔记(Wiz)
- Struts2笔记——与ServletAPI解耦
与ServletAPI解耦的访问方式 为了避免与 Servlet API 耦合在一起, 方便 Action 做单元测试, Struts2 对 HttpServletRequest, HttpSessi ...