git 的基本使用

基本概念

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


    git 的基本使用_第1张图片
    git工作流

安装及配置

(ubuntu14下)

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

基本操作

  • 创建仓库(工作目录) - 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 --
  • 删除文件 - 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
  • 版本回退 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 

# 使用被合并的文件
git checkout --theirs 
  • 手动解决冲突

    • 在自己编辑器中修改
    • 借助 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 "[[email protected]]" (如果有则不需要)
    • 复制~./ssh/id_rsa.pubhttps://github.com/settings/ssh新建的记录
  4. 验证 git -T [email protected]
  5. 通过git进行远程操作

参考资料:

  • git pro中文版
  • git简明指南
  • git pro
  • 廖雪峰git
  • git 进阶指南

你可能感兴趣的:(git 的基本使用)