😄学会了git,你将会懒得使用U盘,百度云盘~~
鸣谢代码托管平台Gitee,GitHub巨献!!
1.概述
1.1开发中的实际场景
场景一:备份
场景二:代码回溯
场景三: 协同开发
场景四:找到问题代码编写人和编写时间
1.2版本控制器的方式
一、集中式版本控制工具
版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网,个人修改后然后提交到中央版本库。
举例:SVN和CVS
二、分布式版本控制工具
没有"中央服务器",每个人电脑上都是一个完整的版本库,这样工作的时候,不需要联网了,因为版本库就在你的电脑上,多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。
举例:Git
1.3Git工作流程图
先大概看一眼,后面会细说,知道有本地仓库和远程仓库就OOK!
2.Git安装与常用命令
本教程里的git命令例子都是在Git Bash中演示的,会用到一些基本的linux命令:
- ls/ll 查看当前目录
- cat 查看文件内容
- touch 创建文件
- vi vi编辑器(也可以用notepad++,记事本)
2.1下载与安装
下载地址:http://git-scm.com/downloadhttp://git-scm.com/download
安装完成之后:
Git GUI: Git提供的图形化界面工具
Git Bash:Git提供的命令行工具
当安装Git后首先要做的事情就是设置用户名称和email地址,因为每次Git提交都会使用该用户信息
2.1.1基本配置
- 打开Git Bash
- 设置用户信息(git config --global user.name"xxx" git config --global user.email"xxx")
- 查看配置信息(git config --global user.name git config --global user.email)
2.1.2创建点号开头的文件
随便找个地方打开Git Bash,输入touch ~/.xiong,就会创建
C:\Users\你的用户名\.xiong
2.2获取本地仓库
要使用Git对我们的代码进行版本控制,首先需要获得本地仓库。
1)新建一个文件夹当仓库【我是D:\APPS\code\GitHouse】
2)进入这个目录,右键打开Git Bash窗口
3)执行命令git init
4)如果创建成功可以在文件夹里面看到隐藏的git目录
2.3基础操作指令
Git工作目录下对于文件的修改、增加、删除会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。
1)git add 工作区-->暂存区
2)git commit 暂存区-->本地仓库
3)git status查看状态
4)git log【options】【options】查看日志
5)git reset --hard commitID(commitID可以用git log查看)(git reflog显示版本快照流程,倒着看时间线)
6)rm 是删除文件 rm -rf 文件夹名(未暂存) git rm -r 文件夹名(已暂存)
说明:git add .是将所有文件添加到暂存区,如果有一个exo.a的文件不想被提交(不被git管理)
touch .gitignore
vi .gitignore(*.a)
$ touch file01.txt 新建一个文件
$ git status 查看状态
On branch masterNo commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file01.txtnothing added to commit but untracked files present (use "git add" to track)
$ git add . 将所有文件添加到暂存区
$ git status 查看状态
On branch masterNo commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: file01.txt
$ git commit -m "add file01" 提交到仓库并写下日志
[master (root-commit) eb5b544] add file01
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file01.txt
$ git status 查看状态
On branch master
nothing to commit, working tree clean
$ git log 查看日志
commit eb5b5440df4c50c5973731bf54523439a6bff593 (HEAD -> master)
Author: xiong <3116180734@qq.com>
Date: Fri Aug 2 23:24:12 2024 +0800add file01
$ vi file01.txt 修改文件
$ git add . 修改完加到暂存区
warning: in the working copy of 'file01.txt', LF will be replaced by CRLF the next time Git touches it
$ git commit -m "update file01" 提交到本地仓库
[master cbd364f] update file01
1 file changed, 1 insertion(+)
$ git log 查看日志
commit cbd364fb04504b896b05d04c1676f4d7bf701592 (HEAD -> master)
Author: xiong <3116180734@qq.com>
Date: Fri Aug 2 23:28:09 2024 +0800update file01
commit eb5b5440df4c50c5973731bf54523439a6bff593
Author: xiong <3116180734@qq.com>
Date: Fri Aug 2 23:24:12 2024 +0800add file01
2.4分支
分支概念:克隆一个当前时刻的自己
- 查看本地分支(git branch)
- 创建本地分支(git branch 分支名)
- 切换分支(git checkout 分支名)创建并切换新分支(git checkout -b 分支名)
- 合并分支(git merge 分支名称)
- 删除分支(git branch -d 分支名称)(强制删除git branch -D 分支名称)
- 解决冲突:两个分支同时对一个文件修改
2.4.1开发中分支使用的原则与流程
3.Git远程仓库
3.1常用的代码托管平台
Github:
http://github.comhttp://github.com
Gitee:http://gitee.comhttp://gitee.com
3.2创建远程仓库
3.3配置SSH公钥
生成公钥:$ ssh-keygen -t rsa 一路回车↩︎,什么都不要管
获取公钥:$ cat ~/.ssh/id_rsa.pub 复制你显示的一大串信息
3.4操作远程仓库
我要添加远程仓库origin,地址是xxxxxxx
第一次可能需要输入gitee的账号密码
上传成功!!!!!!!!!!!!!!
本地分支与远程分支的关联关系
从远程仓库克隆
从远程仓库中抓取和拉取
解决合并冲突
4.在idea里面使用Git
敲黑板!!!!重点来了。。。。。。。。。。。。。。。。。。
idea这块可以看看讲义,非常简单:(pdf可下载)
-----------
*常见的用法操作
这些都是我平常用的时候,留下了总结一下哈哈
I.新建一个本地仓库(空),往远程仓库加新的文件
1.创建一个本地仓库,并完成初始化
git init
2.将远程仓库添加为远程源
git remote add origin <远程仓库的URL>
3.将新文件添加到暂存区
git add <你的新文件名字,1.txt>
4.提交更改
git commit -m "添加新文件啦"
5.拉取远程仓库的更改
首先,获取远程仓库的更改并将其合并到本地仓库:
-
-allow-unrelated-histories
选项允许合并历史记录完全不同的两个仓库。git pull origin master --allow-unrelated-histories
6.推送更改到远程仓库
git push origin master
这样,你的新文件将被上传到包含原有n个文件的远程仓库。😀
--------------------------------------------------END------------------------------------------------------------