git 使用日常记录

git 使用日常记录:

情况说明: 在我们的项目[guiyangtoutiao]中,我们每次push 都会出现忽略文件中添加的 但是没有起作用的一些文件,我们需要手动的取消.例如我们项目中的依赖的moudle作为library生成的一些文件:

appmodel/build/
ec3model/build/
widget/build/

也有在忽略文件中设置 build/

我的做法是 要是涉及文件是单个 或者个数不多的话, 我们先使用 git status来查看状态

之后使用命令: git rm – cached

只是我这里涉及的比较多: 操作是 在跟目录下的忽略文件里面添加了 上面的匹配规则,在github上找了 写好的忽略文件模板复制过来

地址如下: A collection of .gitignore templates

接下来就是 对应的让刚添加根目录的忽略文件起作用;具体如下:

将本地的缓存清除掉 重新添加,就OK了

git rm -r --cached .
git add .

git commit -m “推送的信息”

注意最后的 点

记录一下将本地的这个分支 push到远端指定的分支上

git push origin <本地分支名>:<远程分支名> 例如我的远端的分支: nationalbranch

git push origin master : nationalbranch 将我本地的主分支push到远端仓库的 nationalbranch上.

我按照这个操作发现出错了!

错误信息: error: src refspec nationalbranch does not match any.

错误原因: git push时选取的本地分支进行推送,如果推送的分支在本地分支中不存在,就会产生报错src refspec dev does not match any

所有你的github或者是gitlab上有对应的分支就行,或者现在去创建吧!

git checkout -b 对应的分支名称 检出并在本地创建对应的分支

git branch 显示所有的分支

git diff 查看变更的内容

git remote -v 查看远程版本仓库

git checkout <分支名称> 切换到指定的分支名称

出现一个问题就是 master分支上也有了当前的提交,我的目的是将现在本地master的修改提交到分支上,远端的master分支不变.

现在只能,本地的master分支进行撤销 然后再次覆盖提交吧!

Git恢复之前版本的两种方法reset、revert

这篇博客写的很好:

https://blog.csdn.net/yxlshk/article/details/79944535

git log 查看提交的log 和我们的远端仓库的提交的信息

git 使用日常记录_第1张图片

远端仓库信息:

git 使用日常记录_第2张图片

我们从log看出,最近一次提交是的 head为 fe5b668e7b83267918a0ad4fc74e431e2b198225

要恢复到上一次的 head为: 87359dce41115076a5abcdd245119eae8b523d50

我们使用 git reset – hard 目标版本号

git reset – hard 87359dce41115076a5abcdd245119eae8b523d50

git 使用日常记录_第3张图片

本地已经回撤回来了,现在就差推送到远端分支了.

使用“git push -f”提交更改: 强制推上去就行了!

又出问题了,我们顺便来看看

remote: GitLab: You are not allowed to force push code to a protected branch on this project.

意思就是这个分支是被保护的,github上修改一下吧

具体的路劲如下: guiyangtoutiao>[Repository Settings] > Protected Branches 点击unproject

之后再次执行强制更新就对了.

git push -f

再去看对应的log或者是别的就都是OK的.

还有一个是revert 实现 具体是 是哪个版本 版本一 版本二 版本三 撤回版本二,保留版本三的应用场景 会生成版本四 具体的看上面的连接.

我们上次出现的问题是: push的时候将master分支也上传了;

git push origin develop:newdevelop -f
这句话的意思就是: 将本地的develop分支强制同步覆盖到 newdevelop分支上.

注意这个命令 在这篇博客中暂时未执行 依稀记得是这样的操作

git 提交到仓库的一些命令记录:(示例:http://git.itvk.cn:10080/yq/redbridge.git)

Git global setup
git config --global user.name "牛宇堃"
git config --global user.email "[email protected]"
Create a new repository
git clone http://git.itvk.cn:10080/yq/redbridge.git
cd redbridge
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin http://git.itvk.cn:10080/yq/redbridge.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://git.itvk.cn:10080/yq/redbridge.git
git push -u origin --all
git push -u origin --tags
ting_repo
git remote rename origin old-origin
git remote add origin http://git.itvk.cn:10080/yq/redbridge.git
git push -u origin --all
git push -u origin --tags


加一个 比如本地分支上传到develop的一个小的错误

使用命令: git push origin develop:develop

多敲了回车键;
错误的命令如下示例: git push origin develop : develop
也就是躲在 : 的两边加了空格,出现的错误如下:

error: dst ref refs/heads/develop receives from more than one src.

一个空格引发的惨案.

你可能感兴趣的:(版本控制之git,git)