git 基础
1.前言
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
-
创建仓库
git init 在项目文件下初始化git仓库
git init package 指定目录作为Git仓库。
4.基本操作
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
git add添加文件到暂存区git status查看仓库当前的状态,显示有变更的文件。git diff比较文件的不同,即暂存区和工作区的差异。git commit提交暂存区到本地仓库。git reset回退版本。git rm将文件从暂存区和工作区中删除。git mv移动或重命名工作区文件。
git log查看历史提交记录git blame
git remote远程仓库操作git fetch从远程获取代码库git pull下载远程代码并合并git push上传远程代码并合并
5.分支管理
git branch -a 查看所有分支
git branch (branchName)创建分支
git checkout -b branchName 创建分支并立即切换到该分支下
git branch -d (branchName) 删除分支
git checkout (branchName) 切换分支
git merge (branchName) 合并分支
6.git 放弃add
使用 git add 添加了file1、file2、file3 三个文件,但是commit时发现只需要提交file1和file3,那么就需要把file2从本次缓存区拿走。
使用 git restore --staged file2 即可。
git restore --staged的作用是将暂存区的文件从暂存区撤出,但不会更改文件的内容。
整体回到上次一次操作 : git reset HEAD\git checkout .
如果是某个文件回滚到上一次操作: git reset HEAD 文件名
7.git 放弃commit
git reset --soft HEAD^ # 放弃上次提交,保留add
git reset --soft HEAD~1 # 放弃上次提交,保留add
git reset --soft HEAD~2 # 放弃前两次修改,保留add
- 保留本次修改,并能切换分支提交
git stash 暂存修改
git checkout 分支
git stash pop 恢复工作进度