美文网首页iOS
git 的基本使用

git 的基本使用

作者: Air_cc | 来源:发表于2015-08-12 00:15 被阅读72次

    基本概念

    • git 特点
      • 本地存储完整项目,离线使用
      • 不逐行比较,只保存修改过的文件,未修改的文件不处理
    • git文件的三种状态
      • 已提交(committed) -- 已保存到仓库中受管理的文件
      • 已修改(modified) -- 已修改,但未放到暂存区的文件
      • 已暂存(staged) -- 放到寄存区,未提交给仓库的文件
    • git工作流


      git工作流

    安装及配置

    (ubuntu14下)

    • sudo apt-get install git
    • git config --global user.name "userName", git config --global user.email "user@email.com"
      (其他配置)

    基本操作

    • 创建仓库(工作目录) - mkdir git_dir, cd git_dir,git init
    • clone 已有项目到仓库 - git clone url
    • 添加工作目录中的(新跟踪的或已修改的)文件/文件夹到暂存区 - git add fileName/direction
    • 提交文件到仓库 - git commit -m "what changed"
    • 修改上次提交的信息
      • 仅本地: git commit --amend
      • 已在远程: git push -f
    • 查看当前工作目录的文件状态 - git status
    • 查看已修改文件与历史版本的比较 - git diff,图形比较界面 git difftool
    • 忽视文件(不受git管理) - 创建并配置文件 .gitignore
    • 恢复被修改的文件 - git checkout -- <file>
    • 删除文件 - git rm file, 删除目录: git rm -r folder
    • 查看提交记录
      • 一般情况(使用reset后之前的记录会被冲掉) - git log
      • 所有提交过的记录 - git reflog
      • 精简显示 git --name-status --oneline 可设置快捷别名:git config --global alias.ll 'log --name-status --oneline'
    • 取消放入暂存区的文件 git reset HEAD <file>
    • 版本回退 git reset --hard HEAD
    • 打标签 git tag -a v0.0.1 -m "tag message"
    • 储藏(用于工作被打断时,暂存当前的工作状态) - git stash ,
      • 显示暂存状态:git stash list,
      • 恢复暂存状态: git stash apply
      • 删除暂存状态:git stash drop
      • 恢复暂存状态:git stash pop
    • 分支操作
      • 查看分支:git branch
      • 创建分支:git branch branchName
      • 切换分支: git checkout branchName
      • 删除分支:git branch -d branchName
      • 创建并切换分支:git checkout -b branchName
      • 合并分支:git merge branchName

    解决冲突

    • 直接使用某个分支
    # 使用当前分支的文件
    git checkout --ours <file>
    
    # 使用被合并的文件
    git checkout --theirs <file>
    
    • 手动解决冲突

      • 在自己编辑器中修改
      • 借助 git mergetool
    • 通过习惯避免冲突

      • 修改代码之前 先 pull 代码
      • 通过 git flow 管理项目开发

    远程git仓库的使用 --阮一峰blog

    使用git服务器

    1. 初始化一个本地仓库 git init
    2. 将现有仓库clone出一个裸仓库 git clone --bare my_project my_project.git -- 相当于 cp -rf my_project/.git my_project.git
      远程仓库通常以.git命名的裸仓库
    3. 将裸仓库拷贝到远程服务器上 scp -r my_project.git user@host:/path
      scp 为security copy 用于实现两个主机间的加密传输
    4. 至此,远程仓库就搭建好了,可通过git clone命令获取仓库内容
    5. 建立远程仓库的连接 git remote add origin git_server_path
    6. 从远程仓库获取内容 git pull origin master
    7. 将本地仓库内容推送到远程仓库 git push origin master

    使用github

    1. 本地git设置
    git config --global user.name "*YOUR NAME*"
    git config --global user.email "*YOUR EMAIL ADDRESS*"
    
    1. github创建仓库
    2. 通过ssh协议clone仓库 git clone ssh_address / 或者本地创建好项目,再git remote add remoteRepoName gitRepoPath
    3. 将本机公钥上传到github
      • 创建公钥 ssh-keygen -t rsa -C "[your_email@youremail.com]" (如果有则不需要)
      • 复制~./ssh/id_rsa.pubhttps://github.com/settings/ssh新建的记录
    4. 验证 git -T git@github.com
    5. 通过git进行远程操作

    参考资料:

    相关文章

      网友评论

        本文标题:git 的基本使用

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