天下風雲出我輩
一入江湖歲月催

git-分布式版本控制系统

Git简介

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

安装Git

Git官网:https://git-scm.com/,直接在官网下载安装,Linux用户可以直接执行命令安装

yum install -y git / apt-get install -y git

基本操作

Git流程图

1、设置用户信息:

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

2、初始化仓库
该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。

$ git init

3、忽略特殊文件:在主目录中新建.gitignore文件,写入需要忽略的各种文件格式,git就不会跟踪与同步相关的文件。官方在线参考配置https://github.com/github/gitignore

#例子
#windows:
Thumbs.db
ehthumbs.db
Desktop.ini

#Python:
*.py[cod]
*.so
*.egg
*egg-info
dist
build

#My config
db.ini
id_key_rsa

4、添加暂存并提交

$ git add [file]  #添加文件到暂存区
$ git commit -m "discription" #提交到仓库并描述
$git commit -a -m "discription" #一步到位暂存并提交到仓库

5、查看当前文件状态

$ git status

6、查看已暂存和未暂存的修改

$ git diff            #尚未缓存的改动
$ git diff --staged    #查看已缓存的改动:
$ git diff HEAD       #查看已缓存的与未缓存的所有改动
$ git diff --stat     #显示摘要而非整个 diff

7、撤销修改

$ git checkout --[file] #丢弃工作区的修改
$ git reset HEAD [file] #丢失暂存区的修改

8、删除文件

$ git rm [file]         #删除工作区的文件
$ git rm -f [file]      #强制删除修改过并放到暂存区域的文件
$ git rm --cached [file] #删除暂存区的文件,但保留工作区的

9、移动或重命名

$ git mv README README.md
$ ls
README.md

10、查看提交记录与版本回退

$ git log  #提交记录
$ git log --pretty=oneline   #简易查看
$ git log --pretty=oneline --abbrev-commit   #id简易查看
$ git reset --hard HEAD^     #回退到上一个版本
$ git reset --hard 66b18d    #指定回退到某个版本,id为git log查看的前几位id号
$ git reflog   #命令记录

11、添加管理远程仓库,本地先生成ssh-key,将公钥添加到git服务器中。

$ git remote add origin [email protected]:anonym0x1/test.git   #添加远程仓库
$ git push -u origin master  #把本地库推送到远程库上
$ git pull origin master   #拉取远程仓库
$ git clone [email protected]:anonym0x1/test.git    #克隆远程仓库到本地

12、分支管理

合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

$ git branch           #查看当前的分支信息
$ git branch dev       #创建分支
$ git checkout -b dev   #创建并切换分支
$ git checkout master   #切换分支
$ git merge dev        #合并dev分支到当前分支
$ git branch -d dev    #删除分支

临时藏匿

$ git stash   #临时存储
$ git stash list #查看临时存储信息
$ git stash pop   #恢复藏匿并删除

多人协作

$ git checkout -b branch-name origin/branch-name  #在本地创建和远程分支对应的分支
$ git branch --set-upstream branch-name origin/branch-name  #建立本地分支和远程分支的关联

13、标签管理

$ git tag <name>    #新建标签
$ git tag   #查看所有标签
$ git tag v.1 66b18d1    #指定某次提交id打标签
$ git show v.1     #查看标签信息
$ git tag -a v.1 -m "version is 1.1"   #创建带说明的标签
$ git tag -d v.1   #删除标签
$ git push origin v.1   #推送标签到远程仓库
$ git push origin --tags  #把所有标签都推送到远程
删除远程标签:
1、先删除本地的:git tag -d v.1
2、在删除远程的:git push origin :refs/tags/v.1

 

 

相关教程指南:

Git Pro Book

廖雪峰的Git教程

Git简易指南

 

赞(3) 打赏
未经允许不得转载:Anonym0x1 » git-分布式版本控制系统

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏