Git 的一些使用小技巧

作者: cncal | 来源:发表于2017-05-12 22:53 被阅读232次
Git Logo

Git 是一款免费、开源的分布式版本控制系统。这篇文章用来整理我在使用
Git 的过程中知道的一些小技巧。

1. windows 下 git pull / git push 免密码

虽然网上有很多解决方案,但大多是将用户名和密码包含在远程地址中,然后使用 git config --global credential.helper store 将 credential 信息以明文方式存储在 .gitconfig 文件同目录下的 .git-credentials 中,会造成一定的安全隐患,_netrc 也是一样的。
git-credential-winstore 将 Git 登录用户名和密码保存在 Windows 自带的凭据管理系统中,比 credential.helper 方式更加安全。

  • git-credential-winstore.exe 下载地址
  • 安装方法:如果 Git 路径已包含在 PATH 环境变量中,直接双击运行即可。否则需要在命令行下用 -i 参数指定 Git 路径,例如:
git-credential-winstore -i C:\path\to\git.exe
  • 安装完成之后首次 git push 时,会弹出 Windows 凭据管理系统的登录窗口(如下图所示),填写用户名和密码。以后访问该版本库就不用再输入密码。

注: (1)git-credential-winstore 项目2015年10月起已不再维护,在 windows7 系统上运行正常,其他系统没有测试过; (2)新版本的 Git 已经搭载了更好的 credential manager tool: https://github.com/Microsoft/Git-Credential-Manager-for-Windows,

2. 使用 Git Clone 部署项目至 Linux 服务器,项目文件呈现 Modified 状态

这种情况的出现是因为项目文件在 linux 系统中的权限发生了变化,使用 git config 命令忽略这种变化:

git config core.fileMode false

# 当然如果你想对 全局/系统 级别的 config 进行修改,还可以增加参数
git config --add --global/system core.filemode false
3. .gitignore文件不生效

原因是 .gitignore 只能忽略那些原来没有被 track 的文件,如果某些文件已经被纳入了版本管理中,则修改 .gitignore 是无效的。那么解决方法就是先把本地缓存删除(改变成未 track 状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'
4. repository 中包含带有 .git 文件夹的目录

For example:

warning: adding embedded git repository: vendor/mrgoon/aliyun-sms
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint:   git submodule add <url> vendor/mrgoon/aliyun-sms
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint:   git rm --cached vendor/mrgoon/aliyun-sms
hint:
hint: See "git help submodule" for more information.

这样会导致代码托管服务器上没有 vendor/mrgoon/aliyun-sms 目录。解决方法正如警告中所提示的:

git rm --cached vendor/mrgoon/aliyun-sms
参考文章:

Git忽略规则及.gitignore规则不生效的解决办法
使用git-credential-winstore保存https访问密码

相关文章

  • Git 的一些使用小技巧

    Git 是一款免费、开源的分布式版本控制系统。这篇文章用来整理我在使用Git 的过程中知道的一些小技巧。 1. w...

  • git tips

    前言 本文档用于收集 git 的使用一些使用技巧。欢迎通过评论的方式分享使用技巧? 禁止导致 master 分支无...

  • Git常用命令

    收集、记录、整理一些 Git 相关使用技巧。 git config 查看配置信息 命令参数 --list,简写 -...

  • Git使用小技巧

    用 https 方式 clone 的代码。当时账号密码选择了记住账号,现在需要用新的账号密码,需要删除老的 git...

  • git使用小技巧

    用GitHubDesktop客户端,也得下载Git,然后在 as里配置好Git。如下图 平时用GitHubDesk...

  • Git命令进阶操作:过滤日志

    本文会介绍一些使用git log命令查找特定提交历史的高级技巧。其中的一些技巧配合格式化日志命令使用有奇效。 按照...

  • GIT的使用

    ##git的使用技巧 git安装 mac端:1,下载Git installer,地址;http://git-scm...

  • Git的一些使用技巧

    设置不用每次都输入账号密码:git config --global credential.helper store...

  • Python基本数据类型

    Python补充02 Python小技巧 在这里列举一些我使用Python时积累的小技巧。这些技巧是我在使用Pyt...

  • github项目

    有意思,高质量和自己目前学习工作密切相关的开源项目的集合 git的使用技巧: 开发过程中会经常用到的git的小技巧...

网友评论

    本文标题:Git 的一些使用小技巧

    本文链接:https://www.haomeiwen.com/subject/klstxxtx.html