Git学习
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目;易于学习, 占用空间小,性能快如闪电。优于其他SCM工具,具有便宜的本地分支、方便的暂存区和 多个工作流等功能。
git工作流程
git基本操作
Git与SVN比较
-
Git是分布式,但没有一个全局版本号;
-
Git内容按元数据方式存储,svn按文件,放在.svn文件夹里;
-
Git内容存储是SHA-1哈希算法,能保证内容完整性;而svn的分支只是版本库的另外一个目录;
TortoiseGit
安装
https://tortoisegit.org/download/
下载安装包,语言包–中文
默认安装语言包;安装包安装过程配置:
windows下安装
国内镜像: https://npm.taobao.org/mirrors/git-for-windows/
Git命名窗口:右击->点击git bash
常用命令
git init newdir #指定目录下创建新仓库
git clone url/git clone name@host:path #检出仓库
git status -s #显示有变更文件 AM表添加到暂存区又有改动
git diff #比较文件在暂存区和工作区的差异
git diff --cached #参数查看暂存区和上一次提交的差异
git diff HEAD #参数查看已缓存的与未缓存的所有改动
git diff --stat #显示差异文件摘要
git add <filename>/git add * #添加到暂存区
git commit -m "提交说明" #提交暂存区到本地仓库 -a参数可略过add直接提交到仓库
git push origin <branch> #推送到远端仓库(注意合并冲突,人工解决冲突,提交结果==合并)
git branch #列出本地分支
git branch (branchname) #创建分支
git checkout -b name #创建name分支并切换过去
git checkout master #切换分支
git branch -d name #删除分支
git merge newtes #合并newtes分支到当前分支(注意合并冲突,人工解决冲突,提交结果==合并)
git pull origin master:brantest #从远程获取代码并合并本地的版本
git remote -v #显示所有远程仓库
git remote rm name # 删除远程仓库
git remote rename old_name new_name # 修改仓库名
git remote show https://github.com/tianqixin/runoob-git-test #显示指定远程仓库的信息
git remote add origin git@github.com:tianqixin/runoob-git-test.git #添加远程版本库
git tag 1.0.0 sdfsdfsdqw #创建1.0.0标签,sdfsdfsdqw标记的提交ID前10位
git log #获取ID
git config --list #显示当前git的配置信息
git config --global user.name "runoob" #设置提交代码时的用户信息 --global参数表针对系统上所有仓库
idea使用git
文件颜色
红色:未被版本控制的文件
绿色:新增文件,提交到本地库,未提交到远程仓库
蓝色:修改过文件
vscode使用git
点击source control #git工作区(Ctrl+Shift+G)
点击"+" #add
点击"√" #commit