Git 仓库的初始化

廖雪峰大佬的Git教程

ssh 配置

  • 添加 mac 端 ssh 配置

创建本地 key

  1. rm -rf ~/.ssh/*
  2. ssh-keygen -t rsa -b 4096 -C "2415180498@qq.com"
  3. cat ~/.ssh/id_rsa.pub (获取key)
  • 添加 ssh key 添加到 ssh 服务器,实现免密登录

下面这条命令是写到服务器上的 ssh 目录 cd ~/.sshauthorized_keys 文件

  1. ssh-copy-id -i ~/.ssh/id_rsa.pub ytm@192.168.1.7
  • 验证 ssh 服务器

ytm 是用户名 192.168.1.7 是服务器 id

  1. ssh ytm@192.168.1.7
  • 验证 github ssh 配置

将获得到的 key 拷贝到 github 。个人设置 => ssh。

  1. ssh -T git@github.com

详细教程

新建一个本地 git 仓库

  • 设置 commit 时的签名bash git config --global user.name "XiaoYang" git config --global user.email "2415180498@qq.com"
    执行了上面的命令后,会在主目录 home directory 建立一个叫 ~/.gitconfig 的文件,用来存储全局的 git 设置信息。
  • 创建仓库 git init
  • 新建 README.md 并且提交

与远程 github 仓库交互

  • 添加远程仓库服务器
    git remote add <shortname> <url> 添加远程仓库服务器,这里 url 用 ssh 地址
    git remote -v 列出所有的远程仓库服务器
    git push -u <shortname> <branch> 推送到服务器某个分支 。master 表示主干
  • 从远程库克隆 git clone ...
    也做了如上的操作,默认 shortnameorigin
  • 从远程库拉最新版本 git pull
  • 向远程库推送当前的版本 git push
  • 当本地仓库和远程仓库都有文件时,与远程仓库关联的正确姿势shell git remote add origin 远程仓库地址 git pull origin master --allow-unrelated-histories git branch --set-upstream-to=origin/master master git push

新建本地仓库并同步远程库案例

  1. git init
  2. echo "git init"
  3. touch "README.md"
  4. echo "touch README.md"
  5. git add "README.md"
  6. echo "git add README.md"
  7. git commit -m "first commit"
  8. echo "git commit -m first commit"
  9. git remote add origin git@github.com:XiaoYangsCode/XLuaTestProj.git
  10. echo "git remote add origin ssh"
  11. git push -u origin master
  12. echo "git push -u origin master"
  13. echo "complete"

扩展:写批处理 .sh 文件,放在要初始化的文件夹中运行

  1. chmod +x ./git_init.sh 给权限
  2. ./git_init.sh 执行

本地版本管理

  • 状态的查看
    1. 查看有哪些文件做了修改 git status
    2. 查看某一文件中具体做了什么修改 git diff filename
  • 提交流程
    1. 从工作区加入到暂存区 git add filename
    2. 提交所有暂存区的修改到本地版本 git commit -m 'explain...'
  • 撤销修改
    1. 将工作区修改撤销 git checkout -- filename
    2. 将暂存区修改撤销 git reset HAED filename
  • 不在跟踪某个文件
    1. 不删除文件:git rm --cached fileName
    2. 删除文件: git rm -f fileName

设置 git 代理

走 http 代理

  1. git config --global http.proxy http://127.0.0.1:58591
  2. git config --global https.proxy https://127.0.0.1:58591

取消代理

  1. git config --global --unset http.proxy
  2. git config --global --unset https.proxy