命令 | 说明 |
---|---|
git config user.name | 查看用户名 |
git config user.email | 查看地址 |
git config --global user.name "your name" | 修改用户名 |
git config --global user.name "your email" | 修改地址 |
下表列出了 git 创建仓库的命令:
命令 | 说明 |
---|---|
git init | 初始化仓库,如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。 |
git clone | 拷贝一份远程仓库,也就是下载一个项目。 |
“这里拿例子来进行解释,因为Github经常登不上,所以我们这里使用Gitee作为演示例子,首先将自己电脑的公匙部署绑定在Gitee上面,再在Gitee和本地上面都新建仓库,因为我们的git命令在本地工作区使用才有作用。 ”
如下图所示:根据它所提示的步骤往下走,我们先配置本地的用户名和一些信息,用于标识提交者,再进行添加、提交等操作。
WeChat9fa439f4566e3d727c2838e6069c1775
-u
,所以它使得当前分支远程跟踪了远程分支,下次再Push时可以直接git push“小tip:在idea中可通过Version Control来查看本次提交所做的修改 ,蓝色代表修改文件,绿色代表新增文件,灰色代表删除文件 ”
“merge和rebase都是我们常用的解决分支冲突的命令,它们俩个的基本原理其实都逃不开寻找最近的公共祖先,区别就是合并分支的具体操作了。 ”
“git merge 会产生一个新的合并记录,可以理解为合并两个分支并生成一个新的提交,可以让人知道什么时候有合并。而rebase会合并分支为一条,因此又被称作变基,通常是分支变基到master上。 ”
上面概念有点绕?我们来根据例子来看一下,这里有一个master和一个dev分支,dev分支在节点3的时候创建的:
先来看一下当执行merge命令的时候,如下图所示,合并两个分支的最新提交为一个新的提交(Merge branch 'dev'):
当执行rebase命令的时候,如下图所示,合并两个分支为一个分支,而且以master分支为基,也就是说dev分支的最新提交变基为master的最新提交之上:
再来对比一下它们两个的特点:
上面例子,从分支点3开始,master上面提交了5、7,dev上面提交了4、6,这里我们再使用rebase,合并一下,如下图所示,我们会发现dev的4、6同样会出现在master的5、7上面:
网上对这两个操作的看法和使用也都是公说公有理,婆说婆有理,其实按照它们的特点,按照需求合理的去选择这两个操作就行了。
Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。
Git命令必须在Git仓库目录内执行(git init
除外),在仓库目录外执行是没有意义的。
下表列出了有关创建与提交你的项目的快照的命令:
命令 | 说明 |
---|---|
git add | 添加文件到暂缓区(.git/index) |
git commit | 提交暂存区文件到本地仓库。先add再commit,一次提交多个add。 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
git reset | 回退版本。 |
git rm | 删除工作区文件。 |
git mv | 移动或重命名工作区文件。 |
cat | 将文件内容打印显示 |
命令 | 说明 |
---|---|
git log | 查看历史提交记录 |
git blame <file> | 以列表形式查看指定文件的历史修改记录 |
命令 | 说明 |
---|---|
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
命令 | 说明 |
---|---|
git branch | 列出本地所有的远程分支 |
git branch -r | 列出所有的远程分支 |
git branch -a | 列出所有的远程和本地分支 |
git branch [branch-name] | 新建一个分支,但依然停留在当前分支 |
git branch --track [branch] [remote-branch] | 新建一个分支,与指定的远程分支建立追踪关系 |
git checkout -b [branch] | 新建一个分支,并切换到该分支 |
git checkout [branch-name] | 切换到指定分支,并更新工作区 |
git checkout - | 切换到上一个分支 |
git branch -d [branch-name] | 删除分支 |
git branch --set -upstream [branch] [remote-branch] | 建立追踪关系,在现有分支和指定的远程分支之间 |
git merge [branch] | 合并指定分支到当前分支 |
git rebase<branch> | 衍合指定分支到当前分支 |
git log --graph --pretty=oneline --abbrev-commit | 查看提交状态日志,也可看分支情况 |
continue