文章目录
git学习路线
- 常见概念
- 常用指令
- 常见的场景下的操作
常见概念
分区
git是一种分布式的代码管理工具,每一个git终端用户就拥有一个本地代码版本仓库。
他的代码分区也是相对比较复杂:
- 工作区(workspace):用户工作区,直接修改的代码就是工作区代码。
- 缓存区(index/stage):用户缓存区,工作区代码add以后,进入缓存区。
- 本地仓库(local repository):本地版本的仓库,缓存区代码commit以后,进入本地仓库。
- 远程仓库(remote repository):在服务器上的代码仓库,本地仓库代码push以后,进入远程仓库。
以上各个分区对初学者有点懵,其实只要记住几个基本操作就能对应不同分区:
- 工作区:
- 缓存区:
add
- 本地仓库:
commit
- 远程仓库:
push
概念
远端(remote):远程仓库,服务器端仓库,push以后到达。
commitId
:顾名思义,就是做完git commit
后,得到的一个SHA-1 Hash
值。
当前分支(current branch):就是工作区当前切换到的一个分支,通过命令git branch
可以查看。
HEAD
:可以理解为一个游标,指向你在操作的某个commitId
版本。新的commitId
会加在HEAD
后面,然后HEAD
指向新的commitId
。
FETCH_HEAD
:记录远端仓库各个分支的HEAD
常用指令
建议申请一个远程仓库,然后手动试一下。抛去了不常用的命令,以及不常用的参数。
git config
顾名思义,配置相关的一个命令。
常见用法:
git config --global credential.helper store
:保存密码git config --global user.name <name>
:用户git config --global user.email <email>
:邮箱git config --global core.autocrlf true
:行尾设置,windows用truegit config --global alias.<alias-name> <git-command>
:设置命令缩写
git clone
将远程仓库复制到本地。
常见用法:git clone <repository> [<directory>]
git clone https://github.com/xxxxx/xxxx
git init
将指定文件夹设置为一个git仓库。
常见用法:git init <directory>
mkdir gitteset
cd gittest
git init
git add
将文件放入缓存区,可以指定文件,也可以全部。
常见用法:git add <filename>
、git add .
git commit
将缓存区的文件,提交到本地仓库。
常见用法:git commit -m <msg>
、git commit -F <file> -m <msg>
# 假设在之前的gittest下
git status -s
touch a.java
git status -s
git add a.java
git status -s
git commit -m "add a.java"
git status -s
git push
将本地仓库的代码,提交到远程仓库。
常见用法:
git push
:推送当前工作分支到他的远端仓库和远