Linux 安装
sudo apt-get install git
创建版本库:cd到指定文件夹 然后输入sudo git init
版本回退
回退到上一个版本 git reset --hard HEAD^
回退到指定版本git reset --hard commit
工作区和暂存区
工作区 电脑里能看到的目录 工作区里隐藏的.git不是工作区 他是Git版本库 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。 暂存区 在我们把文件往版本库里添加的时候,是分两布执行的。
- 第一步:
git add把文件添加进去,实际上就是把文件修改添加到暂存区; - 第二步:
git commit -m '描述'提交更改,实际上就是把暂存区的所有内容提交到当前分支。 因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
撤销修改
git checkout -- filename把filename文件在工作区的修改全部撤销,当然,这里有两种情况,第一种是 你还没有把修改的文件添加到暂存区 这时候你git checkout -- filename会撤销当前对文件所有的修改,回到和版本库一模一样的状态 第二种是 你修改完后提交到了暂存区,然后又做了修改,现在,你再执行git checkout -- filename这个命令的时候就会回到添加到暂存区后的状态
庆幸的是,在commit之前,你发现了这个问题。用git status查看一下,修改只是添加到了暂存区,还没有提交,想让暂存区的文件撤销修改,重新回到工作区,你只要输入git reset HEAD filename就可以让文件回到工作区
删除文件
git rm filename
远程仓库
git remote add origin 远程地址关联远程仓库git push -u origin master把本地的master分支推送到远程origin上的master分支上git clone 远程地址把远程仓库的代码克隆到本地分支管理
git branch dev创建一个dev分支git checkout dev切换到dev分支git checkout -b dev创建并切换到dev分支git checkout -d dev删除dev分支git merge dev合并dev分支git branch查看本地所有分支git branch -a查看远程和本地所有分支git stash隐藏当前分支,隐藏后可以切换分支git stash pop取消隐藏分支git stash apply恢复隐藏分支,stash内容不删除,需要用git stash drop来删除git cherry-pick <commit>把bug分支提交的修改复制到当前分支,避免重复劳动git branch -D dev此时的场景是dev分支完成后并没有被合并,但是又想删掉dev分支,这时候需要用-D来强制删除git remote查看远程仓库信息git remote -v详细的远程仓库信息git pull 远程地址把远程仓库拉取到本地并合并(不推荐使用)git fetch origin dev:aaa把远程仓库的dev分支拉取到本地的aaa分支但并不合并(推荐)git push origin dev:aaa将本地的dev分支推送到远程的aaa分支git tag打标签,切换到需要打标签的分支 输入git tag v1.0就可以了git tag查看标签git diff 分支查看目标分支与当前分支的差异


