gitCheatSheet
本文旨在记录初学git版本控制的经验,因不常使用git,为防止忘记故写成笔记。
Git基本用法
git工作流
从下图中可以看到git pull命令与git fetch命令的不同。

git基础操作
-
git测试联通性:
ssh -T git@github.com -
分支操作
git branch列出本地所有分支,参数-r列出远程分支,-a:list both remote-tracking and local branchesgit branch <newBranch>只会创建新分支newBranch,不会自动切换到新分支。- 使用
git checkout <branchName>切换到branchName分支上 git branch -d <branchName>删除某个分支。注意删除前自己决定要不要合并分支git merge <branchName>合并某个分支到当前分支
-
本地初始化、远程连接库
- 本地使用
git init初始化本地仓库。 - 先使用git链接到远程仓库,用法为
git remote add <remoteRepoAvatar> <url:ssh>,此处remoteRepoAvatar指的是任一字符串,用于表示这个远程仓库(可以与云端仓库名字不同)。之后可以使用git remote -v检查项目中已有的远程仓库列表(该命令会显示远程仓库的名称和URL,如不加-v,则显示所有的AvatarName)
- 本地使用
-
拉取和推送代码
-
一般的,本地更新完代码后,需要执行
git add .与git commit -m "updateLogs"更新到本地仓库。 -
要从新的远程仓库拉取最新的代码,可以使用以下命令:
git pull <remoteRepoAvatar> <分支名称>。将<分支名称>替换为你要拉取的分支名称,例如master。 -
推送代码:
git push命令用于从将本地的分支版本上传到远程并合并。命令格式如下:git push <远程主机名> <本地分支名>:<远程分支名>。如果本地分支名与远程分支名相同,则可以省略冒号,远程主机名即为自定义的remoteRepoAvatar这里总结了一份gitcheatsheet,方便用到的时候查询。
-
-
git日志:可以通过
git log命令查看本地仓库的commit记录,按q键即可退出。 -
git忽略提交文件:使用
touch .gitignore创建文件并写入要忽略上传的文件名,之后git status命令便不会追踪到要忽略的文件。 -
Git仓库合并error: refusing to merge unrelated histories
注:本地新建文件夹开始git remote add操作前,需先git init,否则报错fatal: not a git repository (or any of the parent directories): .git
环境:系统:Win10,git版本:2.42.0.windows.2
问题:本地有一个初始化的git仓库,GitHub端手动创建了private库(含README文件),想要把本地合并到云端出现错误。
解决方案及原因:git使用不当。一般需先创建云端库再clone下来后更新代码。若遇到代码先于仓库的情况,从远程库拉取代码并将当前分支同其合并,使用git pull <remoteRepoAvatar> master --allow-unrelated-histories,之后完成本地更新commit等操作后push到远端即可。
一个应用实例
之前自己的Github pages部署hexo主题为Matery,因为故障问题,近期改为了Butterfly。
面临需要将远程端代码重新更新的问题。
本地端hexo文件:先git init && git add . && git commit,之后git remote add origin 远端链接(ssh和https均可),再使用git branch检查本地和远端分支情况,使用git push x x --force强制替换远端,后使用npm install hexo-deployer-git --save安装deploy插件,再进行hexo d操作。deploy配置写在了config.yml中。





