Git学习记录
一、Git流程图

- 本地仓库:是在开发人员自己电脑上的Git仓库,存放我们的代码(.git 隐藏文件夹就是我们的本地仓库)
- 远程仓库:是在远程服务器上的Git仓库,存放代码(可以是github.com或者gitee.com 上的仓库,或者自己该公司的服务器)
- 工作区: 我们自己写代码(文档)的地方
- 暂存区: 在 本地仓库中的一个特殊的文件(index) 叫做暂存区,临时存储我们即将要提交的文件
- clone(克隆):从远程仓库中克隆代码到本地仓库
- checkout(检出) :从本地仓库中检出一个仓库分支然后进行修订
- add (添加):在提交前先将代码提交到暂存区
- commit(提交)︰提交到本地仓库。本地仓库中保存修改的各个历史版本
- fetch (抓取)︰从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
- pull (拉取)∶从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge
- push (推送)︰修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
二、操作本地仓库
1、初始化本地仓库的方法
方法1:进入要初始化为本地仓库的文件夹内,点击鼠标右键然后打开Git Bash,输入指令 git init

方法2:进入要初始化为本地仓库的文件夹内,点击鼠标右键然后打开Git GUI,点击Create New Repository

初始化成功后,会在文件夹内生成一个.git的隐藏文件,那么我们的本地仓库就创建完成了

2、查看本地仓库的状态和日志
当我们想查看本地仓库里是否有改动状态时,使用指令 git status 查看

当我们想查看本地仓库里是文件日志时,使用指令 git log 查看提交文件到本地仓库的提交事件的ID、提交作者、提交时间以及提交时的注释

3、为常用指令配置别名
有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名。
1.打开用户目录,创建.bashrc文件
部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行touch ~/.bashrc
2、往.bashrc文件里写入以下代码
#用于输出git提交日志 # --pretty=oneline将提交信息显示为一行 # --abbrev-commit使得输出的commitld更简短 # --graph 以图的形式显示 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' #用于输出当前目录所有文件及基本信息
alias ll='ls -al'
3、打开gitBash,执行source ~/.bashrc
4、添加文件到本地仓库的暂存区
首先我们在本地仓库里创建一个示例文件


当我们想往暂存区里添加文件时,打开Git Bash,使用指令 git add xxx (xxx可以为文件名,也可以为.表示为全部文件) 就可以往暂存区添加文件了

添加文件之后,我们可以通过git status来查看

5、提交文件到本地仓库
当我们添加暂存区成功后,我们可以使用指令 git commit -m ""(双引号里面写本次提交的注释,可以为空)

提交文件之后,我们可以通过git log来查看

也可以通过git-log

6、版本回退
当我们想回退到某个版本,使用指令 git reset --hard commitID 回退
commitID可以通过 git log 或者 git-log 指令查看
查看已删除的的提交记录可以通过 git reflog 查看
7、添加文件到忽略列表
一般我们总会有些文件无需纳入Git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore的文件(文件名称固定),列出要忽略的文件模式。
下面是一个示例:
1 # 所有以.a 结尾的文件讲被忽略(递归) 2 *.a 3 # 不管其他规则怎样,强制不忽略 lib.a 4 !lib.a 5 # 只忽略 文件 TODO (注意这里是文件) 6 /TODO 7 # 忽略 build文件夹下所有内容(递归) 这里是文件夹 8 build/ 9 # 忽略 doc 目录下以 *.txt 结尾的文件 (不递归) 10 doc/*.txt 11 # 忽略 doc 目录下以 *.pdf 结尾的文件 (递归) 12 doc/**/*.pdf
三、分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响。
2、创建本地分支指令: git branch branch_name
5、合并分支(merge)指令: git merge branch_name
-
git branch -d branch_name 删除分支时,需要做各种检查
-
git branch -D branch_name 不做任何检查,强制删除
四、远程仓库

浙公网安备 33010602011771号