1、配置ssh-key
- ssh-keygen -t rsa #产生密钥
- cat ~/.ssh/id_rsa.pub #查看公钥
- ssh -T git@github.com #检查能否成功
- git config --global user.name "name" #添加用户
- git config --global user.email "email" #添加邮箱
- git config -l #检查配置
2、基本操作
- git init #初始化本地仓库
- git add README.md #添加文件到本地仓库
- git rm README.md #本地倒库内删除
- git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。
- git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上
- git clone 远端仓库地址 myname #将远端仓库克隆到本地并且改名
- git fetch git@github.com:xxx/xxx.git ##获取到本地但不合并
- git pull git@github.com:xxx/xxx.git ##获取并合并内容到本地
- git remote -v # 查看远程仓库地址
- git rm -r file/folder #删除文件或者文件夹
- git commit -m "change" #删除后提交
3、分支创建
- git branch #显示当前分支是master
- git branch new-txt #创建分支命名为new-txt
- git checkout new-txt #切换到新分支
- touch branch.txt
- git add branch.txt
- git commit -a -m "added branch.txt"
- git push test_readme new-txt ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。
4、分支合并
- git checkout master #切换到新主干
- git merge new-txt #把分支合并到主干
- git branch #显示当前分支是master
- git push test_readme master #此时主干中也合并了new-txt的代码,test_readme为别名
5、版本回退
- git reset --soft // 回退到指定commit,该commit之后的提交内容,保留工作目录,并把重置 HEAD 所带来的 新的差异放进暂存区
- git reset --hard // 回退到指定commit,该commit之后的提交内容,工作区和暂存区的内容都被抹掉
- git reset --hard 7392442^ #版本回退到head为7392442的前1个版本
- git reset --hard 7392442~2 # 版本回退到head为7392442的前2个版本
- git reset --hard commit_id #版本回退到指定的版本