一、Git基础操作
git init #命令把这个目录变成Git可以管理的仓库
git add readme.txt #将某个文件添加到仓库
git commit -m "提交信息" #将文件提交到本地仓库
git commit -am "提交信息" #git add与git commit合并
git status #查看仓库当前状态
git diff readme.txt #查看readme修改信息
git log #查看日志
git log --pretty=oneline #查看日志只显示一行
git reset --hard HEAD^ #回退版本 HEAD^,HEAD^^,……,HEAD~100 上一个版本,上上个版本,……,往上100个版本
git reset --hard commit_id #回退到某个版本
git reflog #查看历史操作
git checkout -- readme.txt #丢弃工作区的修改
git reset HEAD readme.txt #丢弃暂存区的修改
git rm lala.txt #删除某个文件
二、远程仓库
git remote add origin https://github.com/Crstal/learngit.git #关联远程库
git push -u origin master #第一次推送master分支的所有内容
git push origin master #推送最新修改
git clone https://github.com/Crstal/learngit.git #克隆远程库
三、分支管理
git branch #查看当前分支
git branch dev #切换分支
git checkout dev #创建分支
git branch -b dev #创建并切换分支
git merge dev #合并dev分支到当前分支
git branch -d dev #删除dev分支
git log --graph #查看分支合并图
git log --graph --pretty=oneline --abbrev-commit
git merge --no-ff -m "merge message" dev #将dev分支使用普通方式合并到当前分支(不适用fast forward)
git stash #保存现场
git stash list #查看保存到现场
git stash apply stash@{0} #恢复某个现场(不删除)
git stash drop stash@{0} #删除某个现场
git stash pop #恢复现场并删除最上层保存的现场
git branch -D feature #没有合并强行删除
git remote #查看远程信息
git remote -v
git checkout -b branch-name origin/branch-name #在本地创建和远程分支对应的分支
多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name
推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull
试图合并;
如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git push origin branch-name
推送就能成功!
如果git pull提示“no tracking information
”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
四、标签
git tag v1.0 #打标签 默认HEAD,可以指定commid_id
git tag #查看所有标签
git show v1.0 #查看标签
git tag -a v0.1 -m "version 0.1 released" 0465ed3007f623c0463dad3f578efe75a002b5f6 #打标签 -a指定标签名称 -m标签说明
git push origin v1.0 #推送v2.0到远程仓库
git push origin --tags #一次性推送所有未推送本地标签到远程仓库
git tag -d v1.0 #删除v1.0标签
git push origin :refs/tags/v1.0 #删除一个远程标签
五、自定义Git
git config --global alias.co checkout #配置别名