加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

最常见的 Git 问题和操作清单汇总

发布时间:2019-08-28 00:34:40 所属栏目:优化 来源:前端瓶子君
导读:引言 本文整理自工作多年以来遇到的所有 Git 问题汇总,之前都是遗忘的时候去看一遍操作,这次重新整理了一下,发出来方便大家收藏以及需要的时候查找答案。 一、必备知识点 仓库 Remote: 远程主仓库; Repository: 本地仓库; Index: Git追踪树,暂存区; w

总结

  • 使用 git pull --rebase 和 git merge --no-ff 其实和直接使用 git pull git merge 得到的代码应该是一样。
  • 使用 git pull --rebase 主要是为是将提交约线图平坦化,而 git merge --no-ff 则是刻意制造分叉。

六、SSH

1. 查看是否生成了 SSH 公钥

  1. $ cd ~/.ssh 
  2. $ ls 
  3. id_rsa      id_rsa.pub      known_hosts 

其中 id_rsa 是私钥,id_rsa.pub 是公钥。

2. 如果没有那就开始生成,设置全局的user.name与user.email

git config --list // 查看是否设置了user.name与user.email,没有的话,去设置

  1. git config --list // 查看是否设置了user.name与user.email,没有的话,去设置 
  2. // 设置全局的user.name与user.email 
  3. git config --global user.name "XX" 
  4. git config --global user.email "XX" 

3. 输入 ssh-keygen 即可(或ssh-keygen -t rsa -C "email")

  1. $ ssh-keygen 
  2. Generating public/private rsa key pair. 
  3. Enter file in which to save the key (/Users/schacon/.ssh/id_rsa): 
  4. Enter passphrase (empty for no passphrase): 
  5. Enter same passphrase again: 
  6. Your identification has been saved in /Users/schacon/.ssh/id_rsa. 
  7. Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub. 
  8. The key fingerprint is: 

4. 生成之后获取公钥内容,输入 cat ~/.ssh/id_rsa.pub 即可, 复制 ssh-rsa 一直到 .local这一整段内容

  1. $ cat ~/.ssh/id_rsa.pub 
  2. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU 
  3. GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3 
  4. Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA 
  5. t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En 
  6. mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx 
  7. NrRFi9wrf+M7Q== schacon@agadorlaptop.local 

5. 打开 GitLab 或者 GitHub,点击头像,找到设置页

6. 左侧找到 SSH keys 按钮并点击,输入刚刚复制的公钥即可

七、暂存

git stash 可用来暂存当前正在进行的工作,比如想 pull 最新代码又不想 commit , 或者另为了修改一个紧急的 bug ,先 stash,使返回到自己上一个 commit,,改完 bug 之后再 stash pop , 继续原来的工作;

  • 添加缓存栈: git stash ;
  • 查看缓存栈: git stash list ;
  • 推出缓存栈: git stash pop ;
  • 取出特定缓存内容: git stash apply stash@{1} ;

八、文件名过长错误

Filename too long warning: Clone succeeded, but checkout failed.

  1. git config --system core.longpaths true 

复制代码

九、邮箱和用户名

查看

  1. git config user.name 
  2. git config user.email 

修改

  1. git config --global user.name "username" 
  2. git config --global user.email "email" 

十、.gitignore 更新后生效:

  1. git rm -r --cached . 
  2. git add . 
  3. git commit -m ".gitignore is now working” 

十一、同步Github fork 出来的分支

1、配置remote,指向原始仓库

  1. git remote add upstream https://github.com/InterviewMap/InterviewMap.git 

2、上游仓库获取到分支,及相关的提交信息,它们将被保存在本地的 upstream/master 分支

  1. git fetch upstream 
  2. # remote: Counting objects: 75, done. 
  3. # remote: Compressing objects: 100% (53/53), done. 
  4. # remote: Total 62 (delta 27), reused 44 (delta 9) 
  5. # Unpacking objects: 100% (62/62), done. 
  6. # From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY 
  7. # * [new branch] master -> upstream/master 

3、切换到本地的 master 分支

  1. git checkout master 
  2. # Switched to branch 'master' 

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读