下载git
sudo apt-get install git
配置
git config --global user.name "Your Name"
git config --global user.email "shenyundong11@sina.com"
创建仓库
mkdir warehouse
git init
写个文件
vim readme.txt
添加文件到库里,再提交
git add readme.txt
git commit -m "wrote a readme file"
获取当前仓库的状态
git status
查看某个文件的修改状态
git diff readme.txt
查看日志(从近到远)
git log
git log --pretty=oneline
回退版本
git reset --hard HEAD^
查看每一条命令记录
git reflog
git checkout -- readme.txt
上面这条命令可以让readme文件回到最近的一次修改记录
git reset HEAD readme.txt
上面这条命令:如果上一步git add 放到暂存区,这个操作可以回退到工作区
删除文件
git remove
把本地库修改推送到远程库上面:
git push origin master
显示当前分支
git branch
创建并切换分支dev
git checkout -b dev
切换到master分支(这是主分支)
git checkout master
合并分支,如果现在我在主分支上我想要合并dev分支上的工作内容:
git merge dev
储存当前工作状态
git stash
(恢复、删除、恢复并删除)
git stash apply
git stash drop
git stash pop
删除donny分支
git branch -d donny
显示远程库,详细的信息
git remote -v
推送当前本地库dev分支所有的提交到远程库
git push origin dev
如果本地pull的库,在本地经过修改,但未推送之前,别人已经提前提交过一次了。那么本地需要先git pull 再git push;但是合并历史不是一条直线,git rebase(变基)可以把合并历史变成一条直线
本地库与远程库
先创建与远程库对应的本地库
git checkout -b <branch name> origin/<branch name>
再创建与远程库的链接
git branch --set--upstream-to <branch name> origin/<branch name>
标签tag:实际上是某个commit的指针
创建标签(版本号)v1.0
git tag v1.0
查看标签
git tag
删除标签v1.0
git tag -d v1.0
删除远程标签,先删除本地标签,再删除远程标签
git tag -d <tagname>
git push origin :refs/tag/v1.0