参考廖雪峰的git教程https://www.liaoxuefeng.com/wiki/896043488029600
整体的具体使用只需要跟着这个教程进行就可以了,下面就是记录一些注意事项

开始使用git

关于git clone

最开始认识到github就是从git clone开始的,就是拷贝下别人的开源代码,需要注意的是,这个拷贝方法是有多种协议的,最常用的还是SSH和https,SSH协议相对来说传输速度更快,需要注意的是

  1. 使用SSH的时候需要生成本地公钥,然后向github或者gittee添加本地公钥才能完成clone,同样这个公钥的添加也是接下来push推送代码所必须的

  2. SSH的时候一般不加sudo,否则会出现类似错误在这里插入图片描述

  3. 关于前面说的如何生成公钥,和上传公钥,都可以从廖雪峰教程中找到

开始git管理自己项目

首先创建仓库,有两种方法

  1. 在github网页上创建一个仓库,之后把它给克隆下来,接下来就可以本地进行和项目的管理了
  2. 在本地创建一个项目文件夹,网页上也创建一个同名仓库,最后进入该目录中进行远程关联(前提是已经完成公钥的生成并上传)
git remote add origin git@github.com:michaelliao/learngit.git

合理运用分支

合理的运用分支可以让项目的开发思路更清晰

  1. 在项目中最好是以master分支为最终版本
  2. 添加新的功能或者修复BUG最好是新建一个分支,开发完成后进行和master分支合并,最好使用禁止快速向前合并的方法,这样可以记录合并历史
  3. 在每一次master分支更新新的版本的时候,要注意打上标签,这样方便今后的回顾

忽略特殊文件

一般情况下,我们git管理的项目是避免不了编译的,编译就会更改一些文件,这些中间文件是我们不希望上传的,还有等等一些希望忽略的文件也是不希望上传的,但是在git status时就会显示仍然有修改,这时候就需要 .gitignore文件
如何使用直接参考教程https://www.liaoxuefeng.com/wiki/896043488029600/900004590234208

github与gitee

这两个其实操作是差不多的

  1. 注意这两个的地址是不一样的,前者是github后者是gitee,克隆和关联的时候要注意
  2. 或许github的速度没有gitee速度快,毕竟后者是国内源
  3. github免费版是所有人都是可见的,相当于自己的代码 是完全开源的,私密就需要交钱了,gitee如果是个人或者五人及以下团队使用的话,可以免费创建私密仓库

使用过程中的细节总结

  • 当正在某一分支上进行工作,但是还没有完成时,这时候因为没有完成工作还不想commit,是不能切换分支的,如果硬要切换,必须先把当前工作保存压栈,git stash
  • 使用SSH协议进行clone时,不要使用sudo
  • 最好github和gitee远程库名称不要origin,否则在关联或者提交中会出现远程库同名的冲突,解决同名冲突,参考https://www.liaoxuefeng.com/wiki/896043488029600/1163625339727712

合并分支,解决冲突

  • 问题一:出现拒绝合并无关的历史的错误
    在合并指令后边加入忽略关键字
git merge --no-ff -m "merge with no-ff" dev --allow-unrelated-histories

这样可以强制合并,并且这样可以保存分支历史信息

  • 问题二:解决合并冲突
    一般情况下分支合并避免不了出现冲突的出现,手动修改效率底,使用工具
    先进行工具的安装
apt-get install kdiff3
git mergetool

弹出图像界面,直接在图形界面进行操作更高效,并且有一件修改的功能
最后

$ git add .
$ git commit -m "conflict fixed"

在命令行查看合并图形界面

git log --graph --pretty=oneline --abbrev-commit
  • 撤销合并

最好在合并前把本地仓库全部上传,如果执行这个回退,会丢失掉更改
方法一

git checkout 【行merge操作时所在的分支】
git reset --hard 【merge前的版本号】

方法二

git checkout 【行merge操作时所在的分支】
git merge --abort 

删除本地分支后再删除远程分支的方法

git push origin :branchname(一定要加:)

git clone 出现访问出错,显示无权限或找不到(链接不到)仓库

fatal: 无法读取远程仓库。

请确认您有正确的访问权限并且仓库存在。

密钥已经上传,但是还是会出现该错误
原因:很可能是对该代理进行了限制,特别是在gitlab上,会出现这种问题
公司是通过代理来上网的
这样的话,即便使用git都要通过代理,而git的ssl证书又没有经过第三方证书验证,因此代理不认可,直接失败.
这个时候就需要把git验证ssl证书的功能去掉

解决方法:

git config --global http.sslverify false

已经add 但是需要移除一些不想要的文件夹

  • git rm -r --cached的使用,-r是强制删除
    删除暂存区文件,但保留工作区的文件,并且将这次删除放入暂存区。直接commit就可以

https://blog.csdn.net/qq_42780289/article/details/98353792

git rm -r --cached .history/

git仓库中存在另一个仓库,push提示中断

错误:
You’ve added another git repository inside your current repository.

# cd 到你的第二个仓库目录中,一般也就是你报错的当前
rm -rf .git && git rm --cache . -f

使用子模块

更新子模块, --progress 显示下载进度
git submodule update --init --recursive --progress

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐