配置用户
git config --global user.name "Your Name" git config --global user.email you@example.com
常用命令
git init #将文件夹变成git可以管理的仓库 git add xxx #将xxx添加到git仓库(实质上是将文件从工作区提交到git仓库的暂存区) git commit -m "xxx" #提交文件到git仓库,-m后面输入的是本次提交的说明 (实质上是将文件从暂存区提交到git仓库的版本库上) git status #该命令可以让我们时刻掌握仓库当前的状态 git diff xxx #查看xxx文件被修改的内容 git log #查看所有文件提交日志(git log --pretty=oneline加上参数后一天日志只显示一行) git reset --hard HEAD^ #git回退版本,--hard后面跟的是commit的版本号。在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成 HEAD~100。 git reflog #查看命令历史 git checkout -- readme.txt #把readme.txt文件在工作区的修改全部撤销。有两种情况:一种是readme.txt自修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。 git reset HEAD readme.txt #把暂存区的修改撤销掉,重新放回工作区 git rm file #删除版本库中的file文件
应用场景
放弃修改文件
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1 ,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,使用命令git reset --hard ...,不过前提是没有推送到远程库。
工作区删除了文件
情况1:确实要从版本库中删除该文件,那就用命令git rm file 删掉,并且git commit提交
情况2:删错了,因为版本库里还有呢,所以可以很轻松地使用git checkout -- file命令把误删的文件恢复到最新版本
远程仓库
把本地git项目推送到github上
git remote add origin https://github.com/macoli/learngit.git #建立关联
远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
git push -u origin master #推送
把当前分支master推送到远程,第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把
本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,也不必加-u了。
将github上的项目克隆到本地
git clone git@github.com:macoli/BlogWeb.git
分支管理
git checkout -b dev #创建名为dev的分支并切换到dev分支。 #git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: git branch dev git checkout dev git branch #查看当前分支 git merge dev #合并dev分支到当前分支 git branch -d dev #删除dev分支
参考资料:
廖雪峰Git教程