Git第一次提交代码到仓库

1
2
3
4
5
6
7
8
9
10
# 初始化git仓库
$ git init
# 添加当前目录的所有文件到暂存区
$ git add .
# 提交暂存区到仓库并填写注释
$ git commit -m '注释'
# 添加远程仓库
$ git remote add origin git仓库远程地址
# 将本地仓库推送到远程
$ git push -u origin master

Git拉取/检出分支

1
2
3
4
5
6
7
# 第一次克隆远程仓库
$ git init
$ git clone 远程仓库地址
# 检出远程分支到本地
$ git checkout -b 本地分支名 origin/远程分支名
# 基于commit提交创建分支
$ git checkout -b 新分支 hash

Git新建分支

1
2
3
4
5
6
7
8
9
10
11
12
# 创建本地新分支
$ git branch 新分支名
# 切换本地新分支
$ git checkout 新分支名
# 创建并切换到新分支
$ git checkout -b 新分支名
# push到远程分支
$ git push origin 新分支名:新分支名
# 检出远程分支到本地
$ git checkout -b 本地分支名 origin/远程分支名
# 设置跟踪远程分支
$ git branch --set-upstream-to=origin/远程分支 本地分支

Git删除分支

1
2
3
4
5
6
7
8
9
10
11
12
# 查看本地分支
$ git branch
# 查看本地和远程分支
$ git branch -a
# 删除本地分支
$ git branch -d 分支名
# 删除远程分支
$ git push origin --delete 分支名
# 或
$ git push origin :分支名
# 清除本地无效分支
$ git fetch -p

Git提交代码

1
2
3
4
5
6
7
8
9
10
# 拉取远程代码
$ git pull
# 添加当前目录的所有文件到暂存区
$ git add .
# 取消暂存到上一次提交,保留更改到工作区[文件名可选] --hard 将暂存区与工作区都回到上一次版本
$ git reset HEAD [file]
# 提交暂存区到仓库并填写注释
$ git commit -m '注释'
# 推送到远程
$ git push

Git忽略上传文件或目录

在.git文件夹同级新建.gitignore文件

忽略规则

1
2
3
4
dirName					// 忽略dirName目录
文件名(带后缀名) // 忽略指定文件
log/* // 忽略log下的所有文件
css/*.css // 忽略css目录下的所有.css文件

Git贮藏

当需要checkout出新的分支又不想提交当前改动时,利用贮藏储存然后checkout 新的分支,完成工作后继续上次的工作再应用贮藏的改动。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 执行储存[备注信息可选]
$ git stash [save "save message"]
# 查看贮藏列表
$ git stash list
# 显示做了哪些改动默认为第一个,如果显示其他后面加@{$num}
$ git stash show [stash@{1}]
# 显示具体的改动
$ git stash show [stash@{1}] -p
# 应用贮藏
$ git stash apply [stash@{1}]
# 恢复之前的贮藏并在stash列表中删除
$ git stash pop [stash@{1}]
# 丢弃贮藏
$ git stash drop [stash@{1}]
# 删除所有贮藏
$ git stash clear

新增的文件不在git版本控制中不会贮藏,如果需要贮藏可以先git add [file]再进行贮藏