Fork me on GitHub

git学习

  1. 安装git
  2. 创建版本库
    1. 多了.git目录,这个目录是git来跟踪管理版本库的,切记不可修改里面的文件,以防破坏仓库
  3. 把文件放到git仓库
    1. 用命令git add把文件添加到仓库
    2. 用git commit把文件提交到仓库
    3. git commit -m,-m后面是本次提交的说明
  4. 继续修改readme.txt文件
    1. git status命令让我们掌握仓库当前的状态,可以知道某些文件被修改了,但无法看到修改的具体内容
    2. 用git diff命令查看修改的具体内容
    3. 查看修改内容后,提交到仓库,谨慎的步骤
      1. git add
      2. git status查看
      3. git commit -m
      4. git status
  5. 版本回退
    1. git log命令查看提交记录,记录从最近到最远排列
    2. git reset HEAD^,回退到HEAD^版本(^表示上一个版本,^^表示上上版本,……)
      1. git reset+(版本号),可以找到某个版本,这是在窗口未关闭前的
      2. 如果git关闭后,想找到之前的版本,还可以git reflog获取之前每一次命令
  6. 工作区,暂存区,版本库概念,只有先放在暂存区的修改才会被提交
  7. 撤销修改(git checkout –file,让文件回到最近一次git commit或git add时的状态,用版本库里的版本替换工作区的版本)
    1. 一种是 readme.txt 自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
    2. 一种是 readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
    3. git reset命令既可以回退版本,也可以把暂存区的修改撤销掉,重新返回工作区
  8. 远程仓库
    1. 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有 id_rsaid_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
    2. 登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴 id_rsa.pub 文件的内容

3. 添加远程库 

  1. 在github上创建一个新的git仓库(目前还是空的,因为没关联到本地仓库) 

  2. git remote add origin git@github.com:enpong/git.git(远程仓库与本地仓库的关联) 

    1. ![](https://img-blog.csdn.net/20181023172916608?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMDA1OTUw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

  3. git push -u origin master,把当前分支master推送到远程,-u把本地的master分支与远程的master分支关联起来;在以后的提交中不需-u 
  1. 分支管理

    1. 创建与合并分支

      1. (git checkout -b + 分支)或 (git branch + 分支,git checkout + 分支),创建并切换分支

      2. (git branch)查看所有分支,(git checkout + 分支)切换分支

      3. (git merge + 分支),把指定分支的工作合并到当前分支

      4. (git branch -d + 分支),删除指定分支

    2. 解决冲突

    3. 分支策略

      1. 在实际开发中,我们应该按照几个基本原则进行分支管理:

首先, master 分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在 dev 分支上,也就是说, dev 分支是不稳定的,到某个时候,比如1.0版本发布时,再把 dev
分支合并到 master 上,在 master 分支发布1.0版本;

你和你的小伙伴们每个人都在 dev 分支上干活,每个人都有自己的分支,时不时地往 dev 分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

  1. 保存工作现场去做其他工作后接着继续原来的工作

    1. (git stash),把当前工作现场保存起来

    2. (git stash list),查看保存的工作现场

    3. 恢复工作现场

      1. (git stash apply)恢复,(git stash drop)删除

      2. (git stash pop),恢复同时删除

-------------本文结束感谢您的阅读-------------