Git 笔记

145 阅读2分钟

Git

  1. 是什么?

    代码管理工具

  2. 为什么要学 Git ?

    因为绿点点

  3. 下载链接

  4. 备忘单

  5. Pro Git

术语

  • git: 一个开源的分布式版本控制系统
  • GitHub: 一个托管和协作管理 Git 仓库的平台
  • commit 提交: 一个 Git 对象,是你整个仓库的快照的哈希值
  • branch 分支: 一个轻型可移动的 commit 指针
  • clone: 一个仓库的本地版本,包含所有提交和分支
  • remote 远端: 一个 GitHub 上的公共仓库,所有小组成员通过它来交换修改
  • fork: 一个属于另一用户的 GitHub 上的仓库的副本
  • pull request 拉取请求: 一处用于比较和讨论分支上引入的差异,且具有评审、评论、集成测试等功能的地方
  • HEAD: 代表你当前的工作目录。使用git checkout 可移动 HEAD 指针到不同的分支、标记(tags)或提交

Git 常用操作

  1. 配置 name 和 email

    git config --global user.name name
    git config --global user.email email
    
  2. 查看配置

    git config --list
    
  3. 初始化本地仓库(Repository)

    会生成 .git 目录

    git init
    
  4. 查看本地仓库状态

    git status
    
  5. 添加文件到暂存

    git add 文件名
    
  6. 将文件移出暂存区

    git rm --cached 文件名
    
  7. 提交

    git commit -m "" 文件名
    
  8. 查看本地仓库历史操作记录

    git reflog
    
  9. 代码回溯

    git reset --hard commitId
    
  10. 查看分支

    git branch -v
    
  11. 新建分支

    git branch 分支名
    
  12. 切换分支

    git checkout 分支名
    
  13. 合并分支,将指定分支合并到当前分支上

    git merge 指定分支
    
  14. 克隆仓库

    clone 干了三件事:

    1. 拉取代码
    2. 初始化本地仓库
    3. 创建仓库别名 origin
    git clone https://github.com/作者/仓库.git
    
  15. 查看仓库别名

    git remote -v
    
  16. 为仓库创建别名

    git remote add 别名 https://github.com/作者/仓库.git
    
  17. 提交本地分支到远程仓库

    git push 仓库link/别名 分支名
    
  18. 更新本地分支

    git pull 别名 分支名
    

冲突解决

  • 冲突产生的原因:

    合并分支时,两个分支对同一个文件都进行了修改。

  • git无法自主解决代码冲突,需要人为参与。
  • <<<<<<< HEAD
    当前分支文件中的冲突部分
    =======
    指定分支文件中的冲突部分
    >>>>>>> 分支名
    
  • 因为是合并指定分支到当前分支,所以在本地解决

冲突部分解决后,不要忘记:

  1. git add

  2. git commit -m ""

    不需要带文件名

Git 的团队协作机制

团队内协作

  1. A 在github 创建仓库
  2. A push
  3. B clone
  4. B push *
  5. A pull

注意:

B push 之前需要同意 A 的邀请,步骤:

  1. A 进到自己的仓库,设置-collaborators-add people
  1. 复制pending invite,发给 B
  1. B 拿着 pending invite 直接复制到浏览器,点击同意
  2. 然后就能push啦

跨团队协作

  1. fork
  2. clone
  3. pull request