基础
git init 初始化版本库。
git add 将修改添加到暂存区
git commit 将暂存区提交到版本库分支
git commit -a -m ‘修改内容说明’ 跳过暂存区直接提交工作区的修改
git status 查看工作区的状态
git diff 查看工作区修改内容,即工作区域暂存区的区别。
git reset –hard 恢复到指定id的版本
git log 查看提交历史
git log –pretty=oneline 查看格式化后的提交历史
git reflog 查看未来的历史命令
git diff HEAD – readme.txt 查看工作区和版本库里面最新版本的区别
git checkout – 用版本库里的版本替换工作区的版本
一种是自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。
git reset HEAD 可以把暂存区的修改撤销掉,不修改工作区
git rm 从版本库中删除文件
远程仓库
ssh-keygen -t rsa -C “youremail@example.com” 创建SSH Key
git remote add origin git@github.com/liuyuantao1990/git-test.git 与远程仓库建立关联
git push -u origin master 把本地库的所有内容推送到远程库
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git push origin master 本地master分支的最新修改推送至GitHub
git clone https://github.com/liuyuantao1990/git-test.git 以HTTPS协议形式从远程库克隆内容的到本地库
git clone git@github.com:liuyuantao1990/git-test.git 以SSH协议形式从远程库克隆内容的到本地库
git fetch 从远程仓库抓取数据
git remote show 查看远程仓库信息
git remote rename 远程仓库重命名
分支管理
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
基础
git checkout -b 创建并切换分支
git branch 查看分支
git branch 创建分支
git checkout 切换到分支
git merge 合并指定分支到当前分支
git branch -d 删除分支
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容。
git log –graph –pretty=oneline –abbrev-commit 查看分支的合并情况
git log –graph 查看分支合并图
git merge –no-ff -m “普通模式合并分支” 采用普通模式合并制定分支到当前分支
本地分支管理
git stash 保存工作区的内容,以后恢复工作区后可以继续工作
git stash apply 恢复保存的工作区,但是恢复后,stash内容并不删除
git stash drop 删除保存的工作区的内容
git stash pop 恢复保存的工作区,同时删除stash内容
git branch -D 强行删除分支
远程分支管理
git remote 查看远程库的信息
git remote -v 查看远程库的详细信息
git push origin master 将master分支推送到远程库对应的远程分支
git pull 从远程抓取分支
git branch –set-upstream origin/ 建立本地分支和远程分支的关联
标签操作
git tag v1.0 新建标签
git tag -a v0.1 -m “version 0.1 released” commit id 根据提交的id创建带说明的标签
git tag 查看所有标签
git show 查看标签信息
git push origin 推送一个本地标签到远程
git push origin –tags 推送全部未推送过的本地标签到远程
git tag -d v0.1 删除标签
git push origin :refs/tags/v0.1 删除远程标签
配置别名
alias的配置在.git/config文件中
git config –global alias.last ‘log -1’
git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit”