Git基本配置

用来管理项目依赖的工具

1.全局配置

  • 配置用户信息
  1. # 设置全局用户名
  2. git config --global user.name "your name"
  3. # 设置邮箱
  4. git config --global user.email "your email"
  • 查询配置
  1. # 查看配置信息
  2. git config --list

2.本地仓库

  • 查看仓库状态
  1. git status -s
  • 添加文件到本地
  1. # 添加单个文件到暂存区
  2. git add Readme.txt
  3. # 将当前目录下所有修改添加到暂存区,除按照规则忽略的之外
  4. git add .
  • 文件储存到暂存区
  1. # 如果暂存区有文件,则将其中的文件提交到仓库
  2. git commit
  3. # 带评论提交,用于说明提交内容、变更、作用等
  4. git commit -m 'your comments'
  • 查看提交历史
  1. # 显示所有提交的历史记录
  2. git log
  3. # 单行显示提交历史记录的内容
  4. git log --pretty=oneline
  • 版本回退
  1. # 查看提交版本
  2. git reflog
  3. # 会退到 commit_id 指定的提交版本
  4. git reset --hard 'commit_id'
  • 删除文件
  1. # 删除已经被提交过的 Readme.md
  2. git rm Readme.md

3.分支管理

  • 查看分支
  1. # 查看本地分支信息
  2. git branch
  3. # 查看相对详细的本地分支信息
  4. git branch -v
  5. # 查看包括远程仓库在内的分支信息
  6. git branch -av
  • 创建分支
  1. # 新建一个名称为 dev 的分支
  2. git branch dev
  • 切换分支
  1. # 新建完 dev 分支以后,通过该命令切换到 dev 分支
  2. git checkout dev
  • 创建并切换分支
  1. # 新建 dev 分支,并切换到该分支上
  2. git checkout -b dev
  • 合并分支
  1. # 切换回 master 分支
  2. git checkout master
  3. # 将 dev 分钟中的修改合并回 master 分支
  4. git merge dev
  • 删除分支
  1. # 删除 dev 分支
  2. git branch -d dev

4.远程仓库

  • 查看远程仓库
  1. git remote -v
  2. # origin ——仓库服务器的默认名称
  • 添加远程仓库
  1. # 为本地仓库添加远程仓库
  2. git remote add origin your_remote_git_repo
  • 推送内容
  1. # 第一次推送时使用,可以简化后面的推送或者拉取命令使用
  2. git push -u origin master
  3. # 将本地 master 分支推送到 origin 远程分支
  4. git push origin master

!> 推送之前,需要先pull远端仓库,如果发现提交版本不一致,出现错误

  • 拉取内容
  1. # 仅仅获取远程仓库的更新内容,并不会自动做合并
  2. git fetch origin master
  3. # 获取远程仓库的内容后,会自动做合并
  4. git pull origin master
  • 移除远程仓库路径
  1. # 移除一个远程仓库
  2. git remote rm origin

!> 此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

  • 克隆代码
  1. # 通过 https 协议,克隆 Github 上 git 仓库的源码
  2. git clone https://github.com/test/demo1.git
  3. # 通过 ssh 协议,克隆 Github 上 git 仓库的源码
  4. git clone git@github.com:test/demo1.git
  • 拉取代码
  1. git pull [远程仓库名称] [分支名称]

5.常用操作

  1. git remote #查看所有远程仓库名称
  2. git remote -v #查看远程仓库缩略信息
  3. git push origin master # 将本地仓库代码推送到远程仓库
  4. git clone https://github.com/test/demo1.git # 克隆远程仓库代码到本地
  5. git pull origin master # 拉取远程仓库代码到本地:(fetch+merge)

多SSH配置

1.生成多个SSH

  1. ssh-keygen -t rsa -C 'xxxxx@a.com' -f ~/.ssh/gitee_a_rsa
  1. ssh-keygen -t rsa -C 'xxxxx@b.com' -f ~/.ssh/gitee_b_rsa
  1. ssh-keygen -t rsa -C 'xxxxx@c.com' -f ~/.ssh/gitlab_rsa

2.配置SSH

  • 在 ~/.ssh 目录下新建一个config文件,添加如下内容
  1. # gitee a
  2. Host gitee.a.com
  3. HostName gitee.com
  4. PreferredAuthentications publickey
  5. IdentityFile ~/.ssh/gitee_a_rsa
  6. User xxxxx@a.com
  7. # gitee b
  8. Host gitee.b.com
  9. HostName gitee.com
  10. PreferredAuthentications publickey
  11. IdentityFile ~/.ssh/gitee_b_rsa
  12. User xxxxx@b.com
  13. # gitlab私服
  14. Host git.hzlim.cn
  15. HostName git.hzlim.cn
  16. PreferredAuthentications publickey
  17. IdentityFile ~/.ssh/gitlab_rsa
  18. User xxxxx@c.com
  19. Port 2222

3.测试连通性

  1. ssh -T git@gitee.a.com
  2. ssh -T git@gitee.b.com
  3. ssh -T git@git.hzlim.cn

4.配置仓库指向的SSH

  • 在仓库路径设置提交代码的信息git@gitee.a.com为配置文件中的Host地址
  1. git config remote.origin.url git@gitee.a.com:hzlim/homework.git

更新时间:{docsify-updated}