git基本使用命令
基本命令
1 | #下载 |
1 | #创建并切换分支 |
合并分支
1 | git merge <branch> # 将branch分支合并到当前分支 |
###远程分支1
2
3
4
5
6
7
8
9
10
11$ git pull # 抓取远程仓库所有分支更新并合并到本地
$ git push origin master # 将本地主分支推到远程主分支 master 可以换成你想要的任何分支
# 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
$ git push -u origin master
# 查看远程仓库:
$ git remote -v
# 下载远程仓库的所有变动
$ git fetch [remote]
git技术栈
关于.git
1 | ├── HEAD ├── branches ├── config ├── description ├── hooks │ ├── pre-commit.sample │ ├── pre-push.sample │ └── ... ├── info │ └── exclude ├── objects │ ├── info │ └── pack └── refs ├── heads └── tags |
每一次你创建一个文件并跟踪它会发现,git 会对其进行压缩然后以 git 自己的数据结构形式来存储。这个压缩的对象会有一个唯一的名字,即一个哈希值,这个值存放在 object 目录下。
在探索 object 目录前,我们先要问自己 commit 到底是何方神圣。commit 大致可以视为你工作目录的快照,但是它又不仅仅只是一种快照。
实际上,当你提交的时候,为创建你工作目录的快照 git 只做了两件事:
- 如果这个文件没有改变,git 仅仅只把压缩文件的名字(就是哈希值)放入快照。
- 如果文件发生了变化,git 会压缩它,然后把压缩后的文件存入 object 目录。最后再把压缩文件的名字(哈希值)放入快照。