初始化教程
小编脑子比较笨,有什么不对的请多多指导
先了解一些最基本的定义
git 分四个区
工作区 暂存区 本地仓库 远程仓库
工作区:开发区,随时编辑的地区
暂存区:已经add过,但是未commit的
本地仓库:已经commit存储到本地仓库
远程仓库:已经push到远程仓库的。我的理解就是提交到了所有人共有的仓库
配置git用户名邮箱等
git config --global user.name "username"
git config --global user.email "user@email.email"
git config --global color.ui "always"
git init
#初始化本地仓库创建一个.git文件夹
.gitignore 文件
### 设置忽略提交文件 echo *.jpg>.gitignore将忽略所有的.jpg文件忽略提交
### 注意添加忽略之后,已经提交到版本库中的文件是无法忽略的。只能clone到本地,删除后,再进行忽略。
### .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
### 正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
### git update-index --assume-unchanged PATH 在PATH处输入要忽略的文件。
### 另外 git 还提供了另一种 exclude 的方式来做同样的事情,不同的是 .gitignore 这个文件本身会提交到版本库中去。用来保存的是公共的需要排除的文件。而 .git/info/exclude 这里设置的则是你自己本地需要排除的文件。 他不会影响到其他人。也不会提交到版本库中去
git add somefile.txt 提交具体文件
git add *.txt 提交所有.txt文件
git add . 提交所有文件 包含子目录 但是不包含空目录
### 添加新文件到版本库
git commit -m "add all you add file" ### ### 提交所有增加文件
git commit -m "提示信息" file.txt
### 提交单个文件
git commit -C head -a --amend
### 增补提交,此操作不会产生新的提交记录
### 提交所有代码或者指定文件提交 此次提交为提交本地
提交代码
分支管理
git branch
### 列出本地分支
git branch -a
### 列出所有分支
git branch -r
### 列出所有远程分支
创建分支(创建分支的作用是为了版本控制,比方说你现在需要开发一个新功能,但是又不确定上不上,这时候就创建一个分支搞定,后边会说明分支合并)
创建分支(两种)
第一种:(创建分支但是不会进入分支,需要手动切换)
git branch branch_name 创建一个名为 branch_name 的分支
之后切换分支
git checkout branch_name
第二种:(创建分支并进入该分支)
git checkout -b branch_name [分支名称:本地分支|远程分支]
重命名分支
git branch -m <branchname><newname>
#### 不会覆盖已经存在的同名分支
git branch-M <branchname><newname>
#### 会覆盖已存在的同名分支
git branch -d new2 分支如果没有被合并会删除失败
git branch -D new2
即使没有合并分支,也会直接删除掉
合并分支
git merge branch1
将branch1和并到当前分支
标签管理
git tag
显示所有标签
git tag tag_new_name
创建一个新标签
git tag -a tag_new_name -m 'commit content'
创建一个新标签并标注信息
git checkout tag_name
切换一个标签
git show 查看当前标签版本信息
git tag -d tag_name
删除标签
git tag -a tag_name commit_num
补打标签
git push origin v0.1.2
# 将v0.1.2标签提交到git服务器
git push origin –tags
# 将本地所有标签一次性提交到git服务器
git push origin :refs/tags/v0.1.2
# 删除远程分支
临时存储
git stash 将修改过的内容存储起来
git stash -list 列出所有临时存储的空间
git stash pop 拿出最近的一次并删除本次记录
git stash apply stash@{1} 拿出指定的暂存
git stash clear 清除所有暂存