我一直不喜欢用这种命令行式的操作,因为我感觉这种操作很耽误时间,就是感觉有比较大的学习成本,然后命令行中总是报一些奇怪的错误,但是我最近感觉命令式的操作其实是一个必须的工具,因为GUI界面有一些问题是不能解决的,因为它有一层外壳,然后在后面的学习还是工作中,这种工程式的项目管理手段也是必须的.
GIT的核心流程
- 仓库初始化
在你指定的文件夹目录下进行
init操作,相当于将你这个仓库是进行了GIT管理,你可以将这个仓库push到你的服务器或者托管平台 基本语法:
text
git init或者你复制别人github上或者远端服务器上的文件
text
git clone /path/to/repository
git clone username@host:/path/to/repository工作流
本地仓库其实是由Git维护的三棵树,第一个是工作目录(文件实际位置),第二个是暂存区(Index)临时保存更改,第三个是Head,指向最后一次提交

- 添加和修改 将更改的问题添加到暂存区.
text
git add <filename>
git add *
git add .提交更改
text
git commit -m "提交信息"这个是上传到了HEAD位置,但是并没有上传到远端仓库
- 推送改动 如果你的更改已经存储到仓库的HEAD中,可以执行以下操作将HEAD中的更改提交到远端仓库中
已经有远端仓库的情况下:
text
git push origin master(指定分支)如果是想要将当前的仓库连接到某个远程服务器中:
text
git remote add origin <server>分支
其实分支是 GIT的一个重要特性,进行分布式开发,然后将它们合并到主分支上

- 创建分支并且切换到分支:
text
git checkout -b new_branch- 切换回主分支
text
git checkout master- 删除分支
text
git branch -d new_branch- 将分支上传到远端仓库
text
git push origin <branch>更新与合并
这个是GIT的一个非常重要的操作
- 更新本地仓库到最新改动
text
git pull- 合并其他分支到你当前的分支
text
git merge <branch>- 合并冲突 上面的合并操作都可能发生合并冲突,针对于冲突文件
- 将它们标记为合并成功
text
git add <filename>- 在合并改动之前你还可以查看文件差异
text
git diff <source_branch> <target_branch>GIT实际运用
[!TIP] 常见手段就是: PULL(拉取仓库最新信息) -> Edit -> PUSH(上传修改)
PULL操作
更新你的本地仓库到最新的改动 基本语法:
sql
git pull1.但是如果你在本地进行修改后并没有将更改放到 HEAD 暂存区的话会导致 pull失败. 所以你一定要记得将更改的文件放到 HEAD中
text
git add . // git add <filename>
git commit "提交信息"- 如果你本地的文件版本太老(远程服务器中的文件早就有别人进行修改,你也不能简单的PULL下来,你会遇到文件冲突),你可以先将自己本地的文件存储到 HEAD 中,然后将远程服务器中最新的文件给PULL下来,然后将本地存储的 HEAD文件给PUSH上去
学习资料: