git init
仓库初始化git
git add <file>
添加文件到仓库github
git add .
将全部修改过的文件服务器
git add -u
将全部修改或已删除的tracked文件添加到暂存区fetch
git add -A
将全部文件的修改和删除文件添加的暂存区日志
git rm <file>
从版本库中删除文件code
git rm <file> --cached
从版本库中删除,但不删除本地文件server
git checkout -- <file>
取消工做区文件的修改blog
git checkout -- .
取消全部工做区文件的修改rem
命令git checkout -- readme.txt意思就是,把readme.txt文件在工做区的修改所有撤销,这里有两种状况:it
一种是readme.txt自修改后尚未被放到暂存区,如今,撤销修改就回到和版本库如出一辙的状态;
一种是readme.txt已经添加到暂存区后,又做了修改,如今,撤销修改就回到添加到暂存区后的状态。
git reset HEAD <file>
从暂存区恢复到工做文件
git reset
从暂存区恢复全部文件到工做区
git reset HEAD^
工做区不改变,可是暂存区会回退到上一次提交以前,引用也会回退一次。
git reset --hard HEAD^
完全撤销最近的提交。引用回退到前一次,并且工做区和暂存区都会回退到上一次提交的状态。自上一次以来的提交所有丢失。
git reset (--hard) commit_id
回退到某个版本,--hard参数表示是否保留工做区的修改
场景1:当你改乱了工做区某个文件的内容,想直接丢弃工做区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工做区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操做。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
git commit -m "what are you doing?"
文件提交
git log --pretty=oneline --graph
显示提交日志
--pretty=oneline 日志一行简要显示
--graph 图形化显示日志
git reflog
查看命令日志,能够用来肯定要回到将来哪一个版本
git branch
git checkout -b <name>
git checkout <name>
git merge <name>
git merge --no-ff -m "instructions" <name>
合并分支到当前
--no-ff 保留分支信息
git branch -d <name>
删除分支
git branch -D <name>
强制删除分支
git remote add origin git@github.com:luna825/learngit.git
关联一个远程库
git push -u origin master
第一次
git clone https://github.com/luna825/lunablog.git
克隆一个远程仓库
git remote -v
显示远程仓库
-v会显示须要读写远程仓库使用的 Git 保存的简写与其对应的 URL
git fetch origin
获取远程仓库中有,但你没有的信息
git push origin master
推送到远程仓库
git remote show origin
查看远程仓库
git pull
会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。
git remote rename pb paul
修改远程仓库的名字
git remote rm paul
删除远程仓库
git push origin serverfix
推送分支
这里有些工做被简化了。 Git 自动将 serverfix 分支名字展开为 refs/heads/serverfix:refs/heads/serverfix,那意味着,“推送本地的 serverfix 分支来更新远程仓库上的 serverfix 分支。
你也能够运行 git push origin serverfix:serverfix,它会作一样的事 - 至关于它说,“推送本地的 serverfix 分支,将其做为远程仓库的 serverfix 分支” 能够经过这种格式来推送本地分支到一个命名不相同的远程分支。 若是并不想让远程仓库上的分支叫作 serverfix,能够运行 git push origin serverfix:awesomebranch 来将本地的 serverfix 分支推送到远程仓库上的 awesomebranch 分支。
git merge origin/serverfix
远程分支合并到当前分支.最好使用本命令来合并分支,由于git pull
会合并全部跟踪的分支
git checkout -b serverfix origin/serverfix
新建本地分支并将远程分支clone下来(创建了track)
git checkout --track origin/serverfix
简写
git branch -u origin/serverfix
设置已有的本地分支跟踪一个刚刚拉取下来的远程分支
git branch -vv
这会将全部的本地分支列出来而且包含更多的信息,如每个分支正在跟踪哪一个远程分支与本地分支是不是领先、落后或是都有