赞
踩
Git 本地数据管理,大概可以分为三个区:
命令 | 作用 |
---|---|
$ q | 退出。 |
$ cd <路径> | 进入路径地址。 |
$ mkdir <文件夹名> | 在当前目录下创建新文件夹。 |
$ pwd | 命令用于显示当前目录。 |
$ ls | 命令用于显示当前非隐藏目录。 |
$ ls -ah | 命令可以看见所有目录(包括隐藏的目录 .git)。 |
$ git config --list | 查看配置(包括用户名和邮箱)。 |
$ cat <file> | 查看文件具体内容。 |
命令 | 作用 |
---|---|
$ git init | 创建一个新的本地仓库。 |
$ git clone git@github.com:<GitHub账户名>/<GitHub仓库名>.git | 从GitHub远程库中克隆到本地库。 |
命令 | 作用 |
---|---|
$ git status | 显示仓库当前的状态(包括修改的、删除的文件状态等)。 |
$ git add <file> | 将修改文件提交到暂存区。 |
$ git add . | 将所有修改文件提交到暂存区。 |
$ git commit -m “<message>” | 将暂存区的所有文件提交到版本库,并添加message说明。 |
$ git diff <file> | 查看工作区文件具体修改内容。 |
$ git diff --cached <file> | 查看add/rm后,也就是在暂存区文件的修改。 |
$ git log | 查看提交历史记录(具体,包括commit_id、author、date和message)。 |
$ git log --oneline | 查看提交历史记录(简单,只有缩减的commit_id和message)。 |
$ git log --graph | 以图表的形式查看历史记录(默认是具体的内容,可和其它选项结合)。 |
$ git reflog | 查看命令历史(所有reset和commit命令)。信息包括commit_id,以便确定要回到哪个版本。 |
命令 | 作用 |
---|---|
$ git reset --hard head^ | 回退到上个版本。 |
$ git reset --hard head^^ | 回退到上上个版本(以此类推)。 |
$ git reset --hard head~ | 回退到上个版本。 |
$ git reset --hard head~100 | 回退100个版本。 |
$ git reset --hard <commit-id> | 回退到指定commit-id的版本。 |
命令 | 作用 |
---|---|
$ rm <file> | 删除工作区的文件。 |
$ git rm <file> | 删除版本库的文件。接着要commit提交才能真正删除。 |
命令 | 作用 |
---|---|
$ git checkout – <file> | 撤销工作区的修改/删除。使用时间为修改后,add之前,注意 – 后有一个空格。 |
$ git reset head <file> | 撤销暂存区的修改,文件变成修改后但未暂存状态。使用时间为add后,commit之前。 |
命令 | 作用 |
---|---|
$ git remote add <remote> git@github.com:<GitHub账户名>/<GitHub仓库名>.git | 当前本地仓库连接GitHub远程仓库。 |
$ git remote | 查看所有关联的远程主机的名称。 |
$ git remote -v | 查看所有关联的远程主机的名称与其对应的 URL。 |
$ git remote show <remote> | 查看某一个远程仓库的更多信息。 |
$ git remote rename <pb> <paul> | 远程仓库重命名,将 pb 重命名为 paul。 |
$ git remote rm <remote> | 移除与某一个远程仓库的关联。(不是删除远程库) |
命令 | 作用 |
---|---|
$ git push origin <branch> | 把本地库的<branch>分支推送到远程库的<branch>分支。远程库没有<branch>分支默认会创建。 |
$ git push | 把本地库当前分支的内容推送到远程库相关联的分支。(注意是在建立追踪关系后) |
$ git push <remote> --delete <branch> | 删除远程分支。 |
$ git pull <remote> <branch> | 从远程库的<branch>分支拉取内容合并到本地库的当前分支。 |
$ git pull | 从远程库相关联的分支拉取内容合并到本地库的当前分支。(注意是在建立追踪关系后) |
$ git pull --rebase origin <branch> | 从远程库拉取内容合并到本地库。加上 --rebase 选项,git内部会自动检测,合并的结果会丢弃一些提交。 |
命令 | 作用 |
---|---|
$ git push -u origin <branch> | 把本地库的<branch>分支推送到远程库的<branch>分支。第一次推送加上 -u 参数,建立了追踪关系。 |
$ git branch --set-upstream-to=<remote>/<branch> <local-branch> | 手动建立本地分支与远程分支的关联。 |
$ git checkout -b <local-branch> origin/<branch> | 在本地创建和远程分支相关联的分支。本地和远程分支的名称最好一致。 |
命令 | 作用 |
---|---|
$ git branch <branch> | 创建分支。 |
$ git checkout <branch> | 切换分支。 |
$ git checkout -b <branch> | 创建+切换分支。等价$ git branch <branch> + $ git checkout <branch> |
$ git branch | 查看本地全部分支。前面带 * 号表示当前分支。 |
$ git branch -v | 查看本地所有分支的最后一次提交。 |
$ git branch -vv | 查看本地所有分支的最后一次提交。(包括和远程分支的追踪关系。) |
$ git branch -r | 查看远程分支。 |
$ git branch -a | 查看本地分支和远程分支。 |
$ git merge <branch> | 合并某分支到当前分支。当前分支指向某分支的最新提交,所以合并速度非常快。也称“快进模式”。 |
$ git merge --no-ff -m “<message>” <branch> | 合并某分支到当前分支。加上 --no-ff表明不使用“快进模式”,因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。 |
$ git branch -d <branch> | 删除分支。对象是已经合并到当前分支且要删除的分支。 |
$ git branch -D <branch> | 强行删除分支。对象是没有合并到当前分支但要删除的分支。 |
命令 | 作用 |
---|---|
$ git stash | 把当前工作现场“储藏”起来,等以后恢复现场后继续工作。 |
$ git stash list | 查看储藏的全部工作现场。 |
$ git stash apply | 恢复工作现场。但是恢复后,stash内容并不删除,你需要用git stash drop来删除。 |
$ git stash drop | 删除工作现场。 |
$ git stash pop | 恢复工作现场的同时把stash内容也删了。 |
$ git stash apply <stash@{0}> | 当储藏多个工作现场,恢复要指定。 |
命令 | 作用 |
---|---|
$ git tag <tag-name> | 为当前分支新建名为name的标签。(轻量标签) |
$ git tag -a <tag-name> -m ‘<message>’ | 为当前分支新建名为name标签并加上附注。(附注标签) |
$ git tag <tag-name> <commit-id> | 为指定commit_id打上标签。 |
$ git tag | 查看所有标签。 |
$ git show <tag-name> | 查看指定标签的信息。 |
$ git push <remote> <tag-name> | 推送一个本地标签到远程。 |
$ git push <remote> --tags | 推送全部未推送过的本地标签。 |
$ git tag -d <tag-name> | 删除本地标签。 |
$ git push <remote> :refs/tags/<tag-name> | 删除一个远程标签。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。