满导救我吧 关注:23贴子:509
  • 14回复贴,共1


IP属地:上海1楼2015-11-17 23:09回复
    IP属地:上海2楼2015-11-17 23:12
    回复
      初始化 http://michaelliao.gitcafe.io/video/git-init.mp4
      小结:
      初始化一个Git仓库,使用git init命令。
      添加文件到Git仓库,分两步:
      第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;
      第二步,使用命令git commit,完成。


      IP属地:上海3楼2015-11-17 23:13
      回复
        时光机穿梭 http://michaelliao.gitcafe.io/video/git-diff-status.mp4
        小结:
        要随时掌握工作区的状态,使用git status命令。
        如果git status告诉你有文件被修改过,用git diff可以查看修改内容。


        IP属地:上海4楼2015-11-17 23:15
        回复
          指针变化 http://michaelliao.gitcafe.io/video/git-reset.mp4
          提交历史 http://michaelliao.gitcafe.io/video/git-reflog-reset.mp4
          小结:
          现在总结一下:
          HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
          穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
          要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。


          IP属地:上海5楼2015-11-17 23:17
          回复
            暂存区实验 http://michaelliao.gitcafe.io/video/git-add-changes.mp4
            小结:
            现在,你又理解了Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中


            IP属地:上海6楼2015-11-17 23:19
            回复
              删除
              小结:
              命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。


              IP属地:上海8楼2015-11-17 23:23
              回复
                克隆远程库 http://michaelliao.gitcafe.io/video/git-clone.mp4
                小结:
                要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
                Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。


                IP属地:上海9楼2015-11-17 23:24
                回复
                  主分支提交 http://michaelliao.gitcafe.io/video/master-branch-forward.mp4
                  快速合并 http://michaelliao.gitcafe.io/video/master-and-dev-ff.mp4
                  合并并删除 http://michaelliao.gitcafe.io/video/create-dev-merge-delete.mp4
                  小结:
                  Git鼓励大量使用分支:
                  查看分支:git branch
                  创建分支:git branch <name>
                  切换分支:git checkout <name>
                  创建+切换分支:git checkout -b <name>
                  合并某分支到当前分支:git merge <name>
                  删除分支:git branch -d <name>


                  IP属地:上海13楼2015-11-17 23:32
                  回复
                    解决冲突 http://michaelliao.gitcafe.io/video/resolv-conflix-on-merge.mp4
                    小结:
                    当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
                    用git log --graph命令可以看到分支合并图。


                    IP属地:上海14楼2015-11-17 23:33
                    回复
                      普通合并模式 http://michaelliao.gitcafe.io/video/merge-with-no-ff.mp4
                      小结:
                      Git分支十分强大,在团队开发中应该充分应用。
                      合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。


                      IP属地:上海15楼2015-11-17 23:34
                      回复
                        BUG分支 http://michaelliao.gitcafe.io/video/stash-fix-bug.mp4
                        小结:
                        修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
                        当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场


                        IP属地:上海16楼2015-11-17 23:37
                        回复
                          功能分支 http://michaelliao.gitcafe.io/video/force-delete-br.mp4
                          小结:
                          开发一个新feature,最好新建一个分支;
                          如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。


                          IP属地:上海17楼2015-11-17 23:38
                          回复
                            推送分支 http://michaelliao.gitcafe.io/video/git-push-origin.mp4
                            抓取分支 http://michaelliao.gitcafe.io/video/git-push-by-xiaohuoban.mp4
                            解决冲突分支 http://michaelliao.gitcafe.io/video/git-pull-push-fix.mp4
                            小结:
                            查看远程库信息,使用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,如果有冲突,要先处理冲突。


                            IP属地:上海18楼2015-11-17 23:45
                            回复
                              管理标签 http://michaelliao.gitcafe.io/video/git-tag-d.mp4
                              小结:
                              命令git push origin <tagname>可以推送一个本地标签;
                              命令git push origin --tags可以推送全部未推送过的本地标签;
                              命令git tag -d <tagname>可以删除一个本地标签;
                              命令git push origin :refs/tags/<tagname>可以删除一个远程标签。


                              IP属地:上海20楼2015-11-17 23:46
                              回复