一、简介
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
二、windows安装
下载exe文件,均选择默认安装即可。
三、第一次使用git
设置全局用户
$git config --global user.name username
$git config --global user.email useremail
相关帮助
$git help <verb> $git <verb> --help $man git-<verb>
创建本地仓库
git init repo # repo:仓库
本地操作
$ git add *.c # 将.c文件添加到staged(暂存区) $ git add README # 将README文件添加到staged $ git commit -m '初始化项目版本' # 提交修改到本地仓库
克隆远程仓库
git clone <repo> <directory> directory 本地目录
ex:git clone git@github.com:oneInsect/HelloWorld.git /home/repo
常用命令
git status 用于查看上次提交之后是否有修改 git diff 用于显示已提交与未提交的区别 git reset HEAD 用于回溯上一个版本 git rm 用于移除本地仓库文件,如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,
换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可
四、分支管理
有人把 Git 的分支模型称为"必杀技特性",而正是因为它,将 Git 从版本控制系统家族里区分出来。
创建分支
git branch (branchname) 不写branchname 即显示当前现有分支
切换分支
git checkout (branchname)
-b 可直接创建并切换 b即branch
-d 删除分支
合并分支
git merge
查看提交历史
git log --online 显示简洁版本
五、远程仓库
添加远程仓库
$ git remote add repo git@github.com:oneInsect/HelloWorld.git
$ git remote 查看远程仓库
提交到远程仓库
git push repo dev
拉取远程仓库数据
git fetch url dev:dev 拉取
git pull url dev:dev 拉取并merge
删除远程仓库
git remote rm repo
xu@X MINGW64 /d/workspace/git_/repo (dev)
$ git remote -v
repo git@github.com:oneInsect/HelloWorld.git (fetch)
repo git@github.com:oneInsect/HelloWorld.git (push)
xu@X MINGW64 /d/workspace/git_/repo (dev)
$ git remote add repo2 git@github.com:oneInsect/HelloWorld.git
xu@X MINGW64 /d/workspace/git_/repo (dev)
$ git remote -v
repo git@github.com:oneInsect/HelloWorld.git (fetch)
repo git@github.com:oneInsect/HelloWorld.git (push)
repo2 git@github.com:oneInsect/HelloWorld.git (fetch)
repo2 git@github.com:oneInsect/HelloWorld.git (push)
xu@X MINGW64 /d/workspace/git_/repo (dev)
$ git remote rm repo2
xu@X MINGW64 /d/workspace/git_/repo (dev)
$ git remote -v
repo git@github.com:oneInsect/HelloWorld.git (fetch)
repo git@github.com:oneInsect/HelloWorld.git (push)
六、工作流程示意图