Git初识【一】
常用命令
git仓库命令
命令 | 操作 | 备注 |
---|---|---|
git remote -v |
查看远程仓库 | |
git pull origin master |
直接拉取并合并最新代码 | git pull origin dev :拉取远端origin/dev分支并合并到当前分支 |
git fetch origin master:master1 |
获取最新代码到本地临时分支 | 在本地建立master1分支,并下载远端的origin/master分支到master1分支中 |
git diff master1 |
查看版本差异 | 查看本地master1分支与当前分支的版本差异 |
git merge master1 |
合并最新分支到本地分支 | 合并本地分支master1到当前分支 |
git branch -D master1 |
删除本地临时分支 | 删除本地分支master1 |
git fetch origin master |
获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch]) | 获取远端的origin/master分支 |
git log -p master..origin/master |
查看版本差异 | 查看本地master与远端origin/master的版本差异 |
git merge origin/master |
合并最新代码到本地分支 | 合并远端分支origin/master到当前分支 |
git配置命令
命令 | 操作 | 备注 |
---|
摘录
创建仓库命令
命令 | 操作 | 备注 |
---|---|---|
git init |
初始化仓库 | |
git clone |
拷贝一份远程仓库,也就是下载一个项目。 |
提交与修改
命令 | 操作 | 备注 |
---|---|---|
git add |
添加文件到暂存区 | |
git status |
查看仓库当前的状态,显示有变更的文件。 | |
git diff |
比较文件的不同,即暂存区和工作区的差异。 | |
git commit |
提交暂存区到本地仓库。 | |
git reset |
回退版本。 | |
git rm |
将文件从暂存区和工作区中删除。 | |
git mv |
移动或重命名工作区文件。 |
提交日志
命令 | 操作 | 备注 |
---|---|---|
git log |
查看历史提交记录 | |
git blame <file> |
以列表形式查看指定文件的历史修改记录 |
远程操作
命令 | 操作 | 备注 |
---|---|---|
git remote |
远程仓库操作 | |
git fetch |
从远程获取代码库 | |
git pull |
下载远程代码并合并 | |
git push |
上传远程代码并合并 |
分支操作
|:–|:–|:–|
|git branch
|列出现有的分支|-r
导致远程跟踪分支被列出;-a
显示本地和远程分支|
|git branch (branchname)
|创建分支命令||
|git checkout (branchname)
|切换分支命令||
|git checkout -b (branchname)
|创建新分支并立即切换到该分支下||
|git branch -d (branchname)
|删除分支||
|git merge
|合并分支||
Git命令-管理
管理
如果你正在管理一个 Git 仓库,或者需要通过一个复杂的方法来修复某些东西,Git 提供了一些管理命令来帮助你。
git gc
git gc 命令在你的仓库中执行 “garbage collection”,删除数据库中不需要的文件和将其他文件打包成一种更有效的格式。
此命令一般在背后为你工作,虽然你可以手动执行它-如果你想的话。 我们在维护 一节中研究此命令的几个示例。
git fsck
git fsck 命令用来检查内部数据库的问题或者不一致性。
我们只在 数据恢复 这一节中快速使用了一次此命令来搜索所有的悬空对象(dangling object)。
git reflog
git reflog 命令分析你所有分支的头指针的日志来查找出你在重写历史上可能丢失的提交。
我们主要在 引用日志 一节中提到了此命令,并在展示了一般用法,及如何使用 git log -g 来通过 git log 的输出来查看同样的信息。
我们同样在 数据恢复 一节中研究了一个恢复丢失的分支的实例。
git filter-branch
git filter-branch 命令用来根据某些规则来重写大量的提交记录,例如从任何地方删除文件,或者通过过滤一个仓库中的一个单独的子目录以提取出一个项目。
在 从每一个提交中移除一个文件 一节中,我们解释了此命令,并探究了其他几个选项,例如 –commit-filter,–subdirectory-filter 及 –tree-filter 。
在 Git-p4 和 TFS 的章节中我们使用它来修复已经导入的外部仓库。
详情
git add
- 添加当前目录下的所有文件到暂存区:
git add .
git rm
用法:
git rm <filename>
;从暂存区和工作区中删除 demo目录下的test.txt 文件:
git rm demo/test.txt
从暂存区和工作区中 强制删除 test.txt 文件:
git rm -f test.txt
把文件从暂存区域移除,但仍然保留在当前工作目录中【从跟踪清单中删除 】:
git rm --cached test.txt