Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 4.35 KB

File metadata and controls

79 lines (61 loc) · 4.35 KB

Git 学习笔记

学习网址:[廖雪峰Git教程] (http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)

1. 安装完成后,需要设置一下

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2. 初始化版本库

$ git init

  • 加到暂存区与提交到本地版本库
$ git add 
$ git commit -m "comments" 
  • git status命令查看工作区状态
  • git diff命令查看修改内容

3. 版本回退

  • git reset --hard commit_id 进行回退
  • git log 查看提交历史
  • git reflog 查看提交历史,以便确定要回到未来的哪个版本。
  • 删除也是一个修改操作: $ rm 然后进行 add, commit

4. 连接远程库

  • 建立 ssh 连接 $ ssh-keygen -t rsa -C "youremail@example.com"

  • 要关联一个远程库,使用命令 git remote add origin git@server-name:path/repo-name.git

  • 关联后,使用命令 git push -u origin master 第一次推送master分支的所有内容

  • 此后,每次本地提交后。只要有必要,可以使用命令 git push origin master 推送最新提交。

5. clone 远程仓库

  • git clone ...
  • Git 支持多种协议, 包括 https, 但是通过 ssh 支持的原生 git 协议速度更快。

6. 分支管理

  • 查看分支: git branch

  • 创建分支: git branch

  • 切换分支: git checkout

  • 创建+切换分支: git checkout -b

  • 合并某分支到当前分支: git merge

  • 删除某分支: git branch -d

  • 当Git无法自动合并分支时,就必须首先解决冲突。 解决好冲突后, 再提交, 合并完成。用 git log --graph 命令何以看到分支合并图。

  • 当修复bug时, 我们通过创建新的bug分支进行修复, 然后合并, 最后删除;

  • 当手头工作没有完成时,先把工作现场 git stash 一下, 然后去修复bug, 修复后, 再 git stash pop, 回到工作现场。

  • 开发一个新的feature, 最好新建一个分支;

  • 如果要丢弃一个没有被合并过的分支, 可以通过 git branch -D 强行删除。

  • 查看远程库信息: git remote -v ;

  • 本地新建的分支如果不推送到远程, 对其他人就是不可见的;

  • 从本地推送分支, 使用 git push origin branch-name , 如果失败,先用git pull抓取远程的新提交;

  • 在本地创建和远程分支对应的分支, 使用git checkout -b branch-name origin/branch-name, 本地和远程分支的名称最好一致。

  • 建立本地分支和远程分支的关联, 使用 git branch --set-upstream branch-name origin/branch-name;

  • 从远程抓取分支, 使用 git pull, 如果有冲突, 要先处理冲突。

7. 标签管理

  • 命令 git tag 用于新建一个标签, 默认为 HEAD, 也可以指定一个 commit id;
  • git tag -a -m "comments" 可以指定标签信息;
  • git tag -s -m "comments" 可以用PGP签名标签;
  • 命令 git tag 可以查看所有标签。
  • git push origin 可以推送一个本地标签;
  • git push origin --tags 可以推送全部未推送过的本地标签;
  • git tag -d 可以删除一个本地标签;
  • git push origin :refs/tags/ 可以删除一个远程标签。

8. 忽略特殊文件

.gitignore文件的常见配置

  • 忽略文件的原则:
  1. 忽略操作系统自动生成的文件, 比如缩略图等;
  2. 忽略编译生成的中间文件,可执行文件等。
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

Git Cheat Sheet

Great work need time, foucs, patience, work hard and put heart into it.