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
相关教程指南: