添加到暂存区
git add .
提交到当前分支
git commit -m "这里写提交说明"
查看提交历史,以便确定要回退到哪个版本
git log
在本地工作区回滚版本
git reset --hard <commit id>
查看命令历史,以便确定要回到未来的哪个版本
git reflog
撤销修改
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
其原理是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
git checkout -- readme.txt
如果修改已经add到了暂存区,用以下命令可以把暂存区的修改撤销掉(unstage),重新放回工作区:
git reset HEAD readme.txt
然后再通过
git checkout -- readme.txt
撤销修改
如果修改已经commit到本地仓库,那只能通过回滚解决
git reset --hard <commit id>
如下图
git 重命名本地分支,并提交到远程
1.重命名
git branch -m oldBranchName newBranchName
2.删除远程分支:
git push origin :oldBranchName
3.将重命名过的分支提交:
git push origin newBranchName
远程仓库
要关联一个远程库(本地目录内容推送至远程仓库),使用命令
git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令
git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从远程库克隆
git clone git@github.com:michaelliao/gitskills.git
Git鼓励大量使用分支:
查看分支:
git branch
创建分支:
git branch <name>
切换分支:
git checkout <name>
创建+切换分支:
git checkout -b <name>
合并某分支到当前分支:
git merge <name>
删除分支:
git branch -d <name>
解决冲突
冲突解决完成后 必须重新add再commit
git add readme.txt
git commit -m "conflict fixed"
用git log --graph命令可以看到分支合并图。