前情提要:
实习的时候,忘记从哪里看着学习的,如有冒犯,联系侵删
一、基本概念
1.提交代码
git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
git默认的编辑器为nano
二、常用术语
1)、仓库(Repository)
受版本控制的所有文件修订历史的共享数据库
2)、工作空间(Workspace)
本地硬盘或Unix 用户帐户上编辑的文件副本
3)、工作树/区(Working tree)
工作区中包含了仓库的工作文件。您可以修改的内容和提交更改作为新的提交到仓库。
4)、暂存区(Staging area)
暂存区是工作区用来提交更改(commit)前可以暂存工作区的变化。
5)、索引(Index)
索引是暂存区的另一种术语。
6)、签入(Checkin)
将新版本复制回仓库
7)、签出(Checkout)
从仓库中将文件的最新修订版本复制到工作空间
8)、提交(Commit)
对各自文件的工作副本做了更改,并将这些更改提交到仓库
9)、冲突(Conflict)
多人对同一文件的工作副本进行更改,并将这些更改提交到仓库
10)、合并(Merge)
将某分支上的更改联接到此主干或同为主干的另一个分支
11)、分支(Branch)
从主线上分离开的副本,默认分支叫master
12)、锁(Lock)
获得修改文件的专有权限。
13)、头(HEAD)
头是一个象征性的参考,最常用以指向当前选择的分支。
14)、修订(Revision)
表示代码的一个版本状态。Git通过用SHA1 hash算法表示的ID来标识不同的版本。
15)、标记(Tags)
标记指的是某个分支某个特定时间点的状态。通过标记,可以很方便的切换到标记时的状态。
三、常用指令
git init
无参数,初始化本地仓库,生成.git 和 工作区
–bare(裸露的),初始化本地仓库,生成.git但是无工作区,常用于共享文件
git clone
http协议
用法: git clone https://github.com/wentizongbibanfaduo/Pandora.git
ssh协议
用法: git clone git@github.com:Pandora.git
注:git clone 不用初始化,可以直接git clone 拉取文件
git pull
pull指令:直接拉取远程仓库并合并至当前仓库中。
fetch指令:拉取最新文件至仓库中
merge指令:合并分支
pull = fetch +merge
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase(废弃)
git push
git log --pretty=online 可以显示完整的commit id
四、gittee学习GIT
1.分支
1.git branch
2.git checkout
3.git checkout -b = 1 + 2
2.合并
1.merge
1.git branch
2.git checkout
3.git commit
4.git checkout master
5.git commit
6.git merge
2.rebase
1.git branch
2.git checkout
3.git commit
4.git checkout master
5.git commit
6.git checkout
7.git rebase master
3.相对引用
1.git checkout
/2
- git branch -f master HEAD^3
====================
我在某厂开发中,是多线开发的,哎,每次提交找人review审核好难啊
1.一次完整的提交流程
git pull // 拉取一下所有的最新分支,保证要切换的分支在
git checkout -b 分支名 远程分支名 // 给远程分支建立本地分支
开始xxx修改
git diff // 看下改了哪些,注意空格和换行及tab键之间的区别
git add . // 一般一笔提交修改一两个文件,没问题直接用 .
git commit // 进行提交commit 信息
git push origin 分支名 // 推到远程仓库
2.使用git commit 模板
懒得写了,找了个网上了,可以参考下
git commit的时候配置log模板
3.提交前一定要先编译!!!!