1,查看远程分支
可以查看远程分支名,查看要切换的远程分支是否存在。
git branch -a
可以查看远程分支名,查看要切换的远程分支是否存在。
git branch -a
昨天我在自家电脑创建了一个分支search_dev.写搜索功能。
1,在本地创建并切换到search_dev分支
git checkout -b search_dev
在codehub上有多个分支,每次的提交都会生成一个新的ID。如下图,假设开始各个分支都是根据ID2的提交更新后的代码进行修改,(ID号仅代表生成的时间顺序,实际的ID号是根据算法生成的)
如果我们需要将绿色分支修改的代码更新到蓝色分支,本地远程分支内与个人工作分支已经是蓝色分支对应库内最新代码,那么在绿色远程分支代码更新到个人的库后(fetch),需要将本地远程分支代码更新到个人工作分支,这时有两种方法,rebase和merge。
$ git --help
用法:git [--version] [--help] [-C <路径>] [-c <名称>=<取值>]
[--exec-path[=<路径>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<路径>] [--work-tree=<路径>] [--namespace=<名称>]
[--super-prefix=<路径>] [--config-env=<名称>=<环境变量>]
<命令> [<参数>]
这些是各种场合常见的 Git 命令:
开始一个工作区(参见:git help tutorial)
clone 克隆仓库到一个新目录
init 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
在当前变更上工作(参见:git help everyday)
add 添加文件内容至索引
mv 移动或重命名一个文件、目录或符号链接
restore 恢复工作区文件
rm 从工作区和索引中删除文件
检查历史和状态(参见:git help revisions)
bisect 通过二分查找定位引入 bug 的提交
diff 显示提交之间、提交和工作区之间等的差异
grep 输出和模式匹配的行
log 显示提交日志
show 显示各种类型的对象
status 显示工作区状态
扩展、标记和调校您的历史记录
branch 列出、创建或删除分支
commit 记录变更到仓库
merge 合并两个或更多开发历史
rebase 在另一个分支上重新应用提交
reset 重置当前 HEAD 到指定状态
switch 切换分支
tag 创建、列出、删除或校验一个 GPG 签名的标签对象
协同(参见:git help workflows)
fetch 从另外一个仓库下载对象和引用
pull 获取并整合另外的仓库或一个本地分支
push 更新远程引用和相关的对象
命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些概念帮助。
查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的
帮助。
有关系统的概述,查看 'git help git'。
浏览器可正常访问github,终端无法clone
## 查看git所有配置,检查是否使用了代理
git config --list
简单来说就是本地修改的文件和目标远程库的同一个文件都有修改,这时无论是pull,push,merge时都会产生冲突。
1.1 本地代码没有commit. 修改同一文件的不同处,依旧会产生冲突。
应用场景,如下第2-4次提交是对同一功能的代码提交记录,完全可以合并成一次提交记录。这个时候rebase就很有用了。
git rebase -i bd0d758(第一次提交的commitId)
注意 git rebase -i [startPonit] [endPoint]
前开后闭 区间 这里的 [startPonit] 是指需要合并的commit的前一个commit (即当前示例中的 “bd0d758: 第一次提交”)。 因为, 三个commit肯定要基于上一个commit合并成了新的commit。 谨慎使用[endPoint] 省略, 即默认表示从起始commit一直到最后一个,但是一旦你填写了, 则表示 [endPoint]后面的commit全部不要了!
下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:
在git log中往往会发现在log中出现Merge branch 'master of .....'
这种合并节点,造成日志的污染
当多人合作开发一个项目时,本地仓库落后于远程仓库是一个非常正常的事情,可参考下图
该应用可以安装在你的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和你的操作系统安全地进行交互。