1.1告诉git或cmder等终端你是谁
绑定id$ git config --global user.name "Your Name"
绑定邮箱$ git config --global user.email "email@example.com"
检查是否存在 SSH Keycd ~/.ssh ls
创建新的ssh key ssh-keygen -t rsa -C "xxx@yeah.net"
获取ssh key公钥内容(id_rsa.pub) cat ~/.ssh/id_rsa.pub
验证是否设置成功 ssh -T git@github.com
1.2git初始化
git init 把某个目录变成Git可以管理的仓库`
git add <文件名> 用命令git add告诉Git,把文件添加到仓库Git添加
1.3工作区和暂存区(提交到GitHub上)
工作区 电脑里能看到的目录 工作区里隐藏的.git不是工作区 他是Git版本库 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。 暂存区 在我们把文件往版本库里添加的时候,是分两布执行的。
- 第一步:
git add把文件添加进去,实际上就是把文件修改添加到暂存区; - 第二步:
git commit -m '描述'提交更改,实际上就是把暂存区的所有内容提交到当前分支。 因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
1.4版本回退
回退到上一个版本 git reset --hard HEAD^
回退到指定版本git reset --hard commit
1.5撤销修改
git checkout -- filename把filename文件在工作区的修改全部撤销,当然,这里有两种情况,第一种是 你还没有把修改的文件添加到暂存区 这时候你git checkout -- filename会撤销当前对文件所有的修改,回到和版本库一模一样的状态 第二种是 你修改完后提交到了暂存区,然后又做了修改,现在,你再执行git checkout -- filename这个命令的时候就会回到添加到暂存区后的状态
庆幸的是,在commit之前,你发现了这个问题。用git status查看一下,修改只是添加到了暂存区,还没有提交,想让暂存区的文件撤销修改,重新回到工作区,你只要输入git reset HEAD filename就可以让文件回到工作区
1.5删除文件
git rm filename
1.7远程仓库
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 分支查看目标分支与当前分支的差异


