git学习记录
发布日期:2021-07-01 04:21:34 浏览次数:22 分类:技术文章

本文共 2788 字,大约阅读时间需要 9 分钟。

文章目录

克隆远程仓库到本地

git clone https://*********.git

上传远程仓库:

$ git add test.txt$ git commit -m "add test.txt"$ git push origin master#如果遇到failed to push some refs to错误#输入:$ git pull --rebase origin master再次输入:$ git push origin master

查看远程仓库:

$ git remote -v

本地文件删除:

$ git rm test.txt"""rm 'test.txt'"""$ git commit -m "remove test.txt""""[master d17efd8] remove test.txt 1 file changed, 1 deletion(-) delete mode 100644 test.txt """

本地文件找回:

$ git checkout -- test.txt

删除远程仓库中的文件:

#删除a目录下的2.txt文件$ git rm -r --cached a/2.txt //   #删除a目录$ git rm -r --cached a$ git commit -m "删除a目录下的2.txt文件" $ git push

注释:用-r参数删除目录, git rm --cached a.txt 删除的是本地仓库中的文件,且本地工作区的文件会保留且不再与远程仓库发生跟踪关系,如果本地仓库中的文件也要删除则用git rm a.txt

从远程仓库获取最新代码合并到本地分支:

1.git pull:获取最新代码到本地,并自动合并到当前分支

//查询当前远程的版本$ git remote -v//直接拉取并合并最新代码$ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]$ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]

备注:不推荐这种方式,因为是直接合并,无法提前处理冲突。

2.git fetch + merge: 获取最新代码到本地,然后手动合并分支
2.1.额外建立本地分支

//查看当前远程的版本$ git remote -v //获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch])$ git fetch origin master:master1  [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中]$ git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中]//查看版本差异$ git diff master1 [示例1:查看本地master1分支与当前分支的版本差异]$ git diff dev1    [示例2:查看本地dev1分支与当前分支的版本差异]//合并最新分支到本地分支$ git merge master1    [示例1:合并本地分支master1到当前分支]$ git merge dev1   [示例2:合并本地分支dev1到当前分支]//删除本地临时分支$ git branch -D master1    [示例1:删除本地分支master1]$ git branch -D dev1 [示例1:删除本地分支dev1]

备注:不推荐这种方式,还需要额外对临时分支进行处理。

2.2.不额外建立本地分支

//查询当前远程的版本$ git remote -v//获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])$ git fetch origin master  [示例1:获取远端的origin/master分支]$ git fetch origin dev [示例2:获取远端的origin/dev分支]//查看版本差异$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]$ git log -p dev..origin/dev   [示例2:查看本地dev与远端origin/dev的版本差异]//合并最新代码到本地分支$ git merge origin/master  [示例1:合并远端分支origin/master到当前分支]$ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]

备注:推荐这种方式

Git Status 中文乱码解决

只要一行就行了

$ git config --global core.quotepath false

前后效果对比见图

##更新本地的单个文件 ``` $ git fetch $ git checkout origin/master -- path/to/file ``` ## git 解决fatal: Not a git repository 我用git add file添加文件时出现这样错误: fatal: Not a git repository (or any of the parent directories): .git 提示说没有.git这样一个目录,解决办法如下: git init就可以了

git push错误failed to push some refs to的解决

当我们在远程库中对某个文件进行了在线的编辑,并且没有同步到本地库,之后在本地库添加了文件时,并想提交到远程库时,会出现以下错误:error:failed to push some refs to。

解决方案:这个问题是因为远程库与本地库不一致造成的,那么我们把远程库同步到本地库就可以了。

使用指令

git pull --rebase origin master

这条指令的意思是把远程库中的更新合并到本地库中,–rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中.

用下面的图来加强我们的理解

git pull –rebase origin master意为先取消commit记录,并且把它们临时 保存为补丁(patch)(这些补丁放到”.git/rebase”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。
接下来就可以把本地库push到远程库当中了。

参考文章 :

转载地址:https://mtyjkh.blog.csdn.net/article/details/82527729 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:知识点讲解五:处理js异步加载问题
下一篇:博客目录

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月07日 15时01分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章