Skip to content

Git in MacOS

Tags
Git
Github
Words count
792 字
Reading time
4 分钟

安装Git

bash
brew install git

#homebrew

本地Git管理

bash
cd targetFilePath                        # 进入目标项目
git init                                 # 初始化Git
git config --global user.name "username" # 设置Git信息
git config --global user.email "email"
touch .gitignore                         # 编写`.gitignore`信息
git add .                                # 推送源文件至Git仓库
git commit -m "推送版本信息"

关联Github

  1. 创建repository
    • 右上角+,New respository,记录Github ID和repository ID
  2. 本地生成SSH密钥并关联
    • 查看是否已存在SSH key,执行ls -al ~/.ssh,如有则备份删除,如无则继续
    • 生成密钥,执行ssh-keygen -t rsa -C "关联邮箱"
    • 提示输入文件名称及密码。文件名称可忽略,系统将默认生成名为id_rsa
    • 将生成的密钥添加至ssh-agent,如下: eval "$(ssh-agent -s)"ssh add ~/.ssh/id_rsa
    • 执行ls -al ~/.ssh,可看到id_rsaid_rsa.pub
    • 执行pbcopy < ~/.ssh/id_rsa.pub,复制所有内容
    • 登录Github,进入setting - SSH Keys - Add SSH Key,粘贴复制内容。即完成SSH Key的添加关联
    • 测试。执行ssh -T [email protected],如出现提示Hi username! You've successfully authenticated, but Github does not provide shell access.则关联成功
  3. 版本提交
    • 添加Git地址,执行git remote add origin [email protected]:GithubID/RepositoryID.git
    • 以上origin表示关联于远程仓库的本地别名
    • 提交至Github master分支,执行git push origin master
    • 若提交失败,提示冲突,则先pull远程内容在push提交 git pull origin mastergit push origin master

日常提交

bash
git add <file>                    # 添加 <file> 文件到暂存区
# git add *                       # 添加所有文件到暂存区
git commit -m "版本提交信息"        # 将暂存区的文件提交到本地仓库(附带版本提交信息)
git status                        # 查看工作区、暂存区以及本地仓库的状态
git log                           # 查看提交历史
# git remote add origin <remote_repository_url> # 添加远程仓库
# git push -u origin master       # 首次将本地仓库origin推送到远程仓库master,使用-u后git会自动关联本地与远程
git push origin master            # 常规推送本地仓库至远程仓库
git pull origin master            # 从远程仓库拉取最新内容
# git branch -a                   # 查看所有分支
# git branch <branch_name>        # 创建 <branch_name> 分支
# git branch -m <old> <new>       # 修改分支名称
# git branch -d[-D] <brancn_name> # [强制]删除分支,删除前切换到其他分支
# git checkout <branch_name>      # 切换至 <branch_name> 分支
# git merge <branch_name>         # 合并 <branch_name> 分支至目标分支
# git checkout -- <file>          # 撤销 <file> 文件在工作区的最后一次修改
# git checkout -- .               # 撤销工作区所有文件在最近一次提交后的修改
# git reset HEAD <file>           # 撤销 <file> 文件在暂存区的最后一次修改,但保留工作区的修改
# git reset HEAD .                # 撤销暂存区所有文件在最近一次提交后的修改,但保留工作区的修改
# git remote remove <repo>        # 删除本地仓库与远程仓库的关联