Git与SVN
Git是一种分布式版本控制工具
SVN是一种集中式版本控制系统,版本库集中放在中央服务器
Git
Git下载地址: https://git-scm.com/download
Git有两种仓库,本地仓库and远程仓库.
- ____本地仓库:是在开发人员自己电脑上的Git仓库
- ____远程仓库:是在远程服务器上的Git仓库
Git工作流程:
环境配置:
设置用户信息:
- git config --global user.name “itcast”
- git config --global user.email “hello@itcast.cn”
**注意:设置的信息会保存在~/.gitconfig文件中
查看配置信息
- git config --list
- git config user.name
获取GIt仓库有两种方式:
- 初始化Git仓库,即新建一个空的文件夹,然后执行git init命令.
- 从远程仓库克隆一个仓库:git clone 远程仓库的地址
Git工作目录(工作区)下的文件有两种状态
- untracked未跟踪状态(没有被纳入版本控制)
- tracked已跟踪转状态(被纳入版本控制)
1.Unmodified 未修改状态
2.Modified 已修改状态
3.Staged 已暂存状态
常用的Git操作命令
- 本地仓库操作命令
-
git status 查看文件状态
– git status -s可以使输出的信息更加的简洁 -
git add 文件名 将未跟踪的文件添加到暂存区
-
git commit -m “名称” 将暂存区的文件修改提交到本地仓库
-
git rm 文件名,删除工作区的文件,需要commit一次,提交到本地仓库
-
git log 查看日志记录
–pretty=oneline 可以简略的输出日志
-
- 远程仓库的操作
- git remote查看远程仓库
- git remote add <远程仓库的的别名一半未origin> 添加一个新的远程Git仓库,同时指定引用简写别名
- git clone <url/简写别名> 克隆一个远程仓库
- git remote rm<url/简写别名> 移除无效的远程仓库
- git pull 从远程仓库拉取最新版本并merge到本地仓库
–注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories - git push [remote-name] [branch-name]将本地仓库中的代码推送至远程仓库或者远程仓库分支
历史版本切换
**命令:git reflog 查看历史版本号
git reset --hard <版本号>**
- Git分支
1. 查看分支
git branch 列出本地所有分支
git branch -r 列出远程所有分支
git branch -a 列出本地和远程所有的分支
2. 创建分支
git branch 分支名
3. 切换分支
git checkout 分支名
4. 删除分支
git branch -d 分支名