下载 - 安装
一、.git是什么;与svn的区别;在windows上如何安装
二、理解工作区、暂存区、提交区(版本库)、stash区(隐藏区)的区别
- 工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。
- 版本库:工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。
git add 和 git commit 是把文件先添加到暂存区,再提交到版本库分支上
三、常用命令
见:git常用命令
四、原理性问题
-
github上创建一个仓库后,在本地任意一文件夹git init,然后 git remote add origin + 仓库地址进行关联,这时候直接git pull,或 git push 都要加 origin master,这是为什么?
你pull操作是要拉取某个分支的代码,但是你本地没有任何分支,所以需要指定源(主机名)和分支 -
什么样的情况下建立分支?
-
分支 branch
所谓分支(branch)就是指向某个快照的指针,分支名就是指针名。哈希值是无法记忆的,分支使得用户可以为快照起别名。而且,分支会自动更新,如果当前分支有新的快照,指针就会自动指向它。比如,master 分支就是有一个叫做 master 指针,它指向的快照就是 master 分支的当前快照。
Git 有一个特殊指针HEAD, 总是指向当前分支的最近一次快照。另外,Git 还提供简写方式,HEAD^指向 HEAD的前一个快照(父节点),HEAD~6则是HEAD之前的第6个快照。
每一个分支指针都是一个文本文件,保存在.git/refs/heads/目录,该文件的内容就是它所指向的快照的二进制对象名(哈希值)。
四、git 在项目中使用时的发现
-
git pull 或 git push 时,当出现了验证时,填错了用户名或密码,该远程将拒绝你的访问,使用 git config --system --unset credential.helper,重置错误步骤,可重新来过。
-
git branch --set-upstream-to=origin/feat-les feat-les,把本地 feat-les 分支与远程 feat-les 关联