git命令

本地仓库

git init                                 初始化git本地仓库

git status                            查看工作区的状态

git log                                 查看提交历史

git reflog                            查看命令历史

git log --graph                    查看分支合并图

git add                                将文件的改动添加到暂存区

git commit                           将暂存区的所有内容提交到本地的当前分支

git checkout --            撤销还未 add 的修改,恢复已经删除却未add的文件

git reset HEAD           撤销 add 后,却未 commit 的修改,再次 git checkout --  回到未修改之前的状态

git reset --hard HEAD^        回退到上一个commit版本

git reset --hard HEAD^~2   回退到前两个版本

git reset --hard 1904a          回退到特定版本号,提交时git push -f

git revert 版本号                   新生成一个与指定版本相同的commit(反做,可能会有冲突,解决冲突,正常提交)       

git rm                          从暂存区删除文件

远程仓库

git remote add origin [email protected]:michaelliao/learngit.git        关联远程仓库

git clone [email protected]:michaelliao/gitskills.git                            从远程仓库clone一个本地库

git remote -v                           查看详细的远程分支内容

git push -u origin master        第一次推送内容到远程master分支

git pull                                    从远程分支拉代码

git fetch origin dev:dev           拉取远程dev分支内容到本地dev,本地无则新建dev分支(不会自动merge,不会切换分支)

git push                                  像远程分支推送内容

分支

git checkout -b           创建并切换分支

git checkout -b dev origin/dev        创建并切换分支,并与远程分支建立关联

git checkout               切换分支

git branch                               查看当前分支

git merge                  合并分支

git branch -d              删除分支 

git branch -D             强制删除分支,比如没有被合并过的分支

git merge --no-ff -m "merge with no-ff"             合并分支的时候保留分支信息,并生成一个新commit。 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

git stash                                  储藏工作现场

git stash list                             查看历史stash

git stash pop                            恢复工作现场,并删除stash

标签

git tag                                                 创建标签

git tag                                                                   查看所有标签

git tag f52c633                                   在指定的commit上打标签

git tag -a -m "balabala" 1094adb        -a:标签名,-m:标签说明

git show                                               查看带说明的标签

git tag -d                                               删除标签

git push origin                                      推送标签去远程仓库

git push origin --tags                                              推送所有标签去远程仓库

git push origin --tags                                              一次性推送所有tags

git push origin:refs/tags/                      远程删除一个标签

你可能感兴趣的:(git命令)