--备注:file 代表某个文件,不是命令 检查系统有无装过Git环境 git 配置Git用户和邮箱 git config --global user.name '你的用户名' git config --global user.email '你的邮箱' 让当前目录变成git管理的仓库 git init 添加文件到仓库 git add readme.txt 提交文件到仓库 git commit -m '备注内容' 查看工作区状态 git status 查看文件是否被修改过 git diff 显示从最近到最远的提交日志 git log --关闭电脑找不到了 git log --pretty=onelone --显示一行 git reflog --用来记录你的每一次命令,关闭电脑还可以找 版本回退到上一个版本 git reset --hard HEAD 版本回到指定版本 git reset --hard 1094a --1094代表某个commit id前几位,可以通过git log去找 查看文件内容 cat file 提交第二次修改 第一次修改 -> git add -> 第二次修改 -> git add -> git commit --OK 第一次修改 -> git add -> git commit -> 第二次修改 -> git commit --错误,提交的是第一次修改,第二次没有 丢弃工作区的修改 git checkout --file 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态 总之,就是让这个文件回到最近一次git commit或git add时的状态 把暂存区的修改撤销掉,重新放回工作区 git reset HEAD file 删除文件 rm file --本地文件删除,版本库未删除 版本库中删除该文件 git rm file --版本库删除 git commit -m '备注' 删除的文件找回 git checkout file --注意:从来没有被添加到版本库就被删除的文件,是无法恢复的! 添加远程库 git remote add origin git@server-name:path/repo-name.git git remote add origin git@github.com:yuanziren/learngit.git --把yuanziren换成自己的github账户名,learngit.git换成自己的仓库 推动本地库到远程库 git push -u origin master --由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令 git push origin master --简化命令 克隆一个本地库 git clone git@github.com:michaelliao/gitskills.git git clone https://github.com/michaelliao/gitskills.git --使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https --git支持多种协议,包括https,但ssh协议速度最快 -------------------------老版本------------------------- 创建分支并切换分支 git checkout -b dev --等同下面两条命令 git branch dev git checkout dev 查看当前分支 git branch --会列出所有分支,当前分支前面会标一个*号 切换分支 git checkout master 合并分支 git merge dev 删除分支 git branch -d dev -------------------------新版本----------------------- 创建分支并切换分支 git switch -c dev 切换分支 git switch master 解决冲突 --合并分支后文件存在冲突,必须手动解决冲突后再提交 --Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,我们修改如下后保存 --master和dev修改要修改一致,再重新add 和commit --删除分支 看到分支合并图 git log --graph --pretty=oneline --abbrev-commit git log --graph