Git学习笔记
Git:分布式版本控制系统
分为两种类型的仓库,本地仓库和远程仓库
本地仓库是在开发人员自己电脑上的git仓库
远程仓库是远程服务器上的git仓库
其他人想要看到自己的代码步骤:
1.开发人员自己将代码commit(提交)到本地仓库
2.再讲本地仓库的代码push(推送)到远程仓库
3.其他开发人员从远程仓库pull(拉取)到本地仓库
如果其他开发人员是刚入职的没有本地的仓库就可以从远程仓库上clone(克隆)到自己电脑上来
1.下载安装git
2.打开git bash
3.设置用户名和密码
4.创建本地仓库
git常用命令
#Git本地仓库命令
git config --global user.name “YourName”
git config --global user.email “YourEmail”
git config --list 查看列表
git init 创建仓库
git clone https://gitee.com/peanut__gong/myRepo1.git 从码云上克隆项目到本地
git status 查看当前目录状态
git add readme.txt 将readme.txt加入暂存区(也可以用于解决分支合并时解决冲突)
git reset readme.txt 取消加入暂存区
git commit -m "日志"将暂存区的所有文件提交到本地仓库
git commit -a -m “日志” 直接提交到本地仓库。不用add到暂存区
git rm 文件名 删除文件(只是删除工作区里的文件,本地仓库仍存在)rm不需要add到暂存区,直接commit就可以删除本地仓库中的文件了如果使用鼠标右键,就需要先add到暂存区,然后再commit
、
git log 查看日志记录 输入q退出日志界面
#将文件添加至忽略列表
不需要git来管理的文件添加到忽略列表
方式:
在工作目录下创建.gitignore的文件(名称固定)
创建方式: touch .gitgnore 这是linux命令
格式:
*.a
以.a结尾的文件
!lib.a
!表示取反,表示lib.a需要被git管理
/TODO
当前目录下叫TODO的文件
build/
build目录下的所有文件
doc/*.txt
doc目录下所有以.txt结尾的
doc/**/*.pdf
doc目录及其子目录下所有以.pdf结尾的文件
#Git远程仓库命令
git remote 查看已经配置远程仓库服务器(git remote -v 详细版本)
git remote add 添加一个新的远程Git仓库
git clone 从远程仓库克隆项目到本地仓库
git remote rm <仓库名> 移除无效远程仓库(只是移除本地的,不会影响远程仓库)
##抓取(fetch)和拉取(pull)
git fetch origin master 从远程仓库获取最新版本但是不会自动merge(合并处理)
git merge origin/master 合并处理,将.git中抓取的项目合并到本地仓库中
oragin表示仓库名字,master表示分支名
git pull origin master 从远程仓库获取最新版本并merge到本地仓库
如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,而且仓库中存有文件,此时再从远程参控股中拉取文件时会报错(fatal:refusing to merge usrelated histores),解决方式在 git pull 命令后加上 参数–allow-unrelated-histories
:wq退出日志
i既可以输入日志
git fetch和git pull都是从远程仓库获取最新版本到本地仓库
区别:
git fetch从远程仓库获取最新版本但是不会自动merge(合并处理)(抓取之后存放在.git的objects文件夹下)
git pull 从远程仓库获取最新版本并merge到本地仓库
git push origin master 当你想分享你的代码时,可以将其推送到远程仓库
#Git分支
Git分支分为本地分支(doc窗口上显示的)和远程分支(码云或者gitub上显示的)
##Git分支命令
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看所有的本地分支和远程分支
git branch <分支名> 创建分支
git checkout <分支名> 切换分支
git push <远程仓库名> <分支名> 将本地分支推送到远程分支
git merge <分支名1> 将<分支名1>合并到当前分支下
git branch -d <分支名> 删除本地分支
如果要删除的分支进行了一些开发动作,执行删除本地分支时会报错,如果要坚持删除将-d改为-D
不能再当前分支下删除当前分支,需要切换到其他分支删除
git push origin -d branchName 删除远程分支
仓库名 远程分支名
#Git标签
标签指的是某个分支特定时间点的状态,通过标签,可以很方便的切换到标签时的状态
git tag 列出所有的标签
git show 查看tag信息
git tag 创建新标签
git push 将标签推送至远程仓库
远程仓库名 标签名
git checkout -b 检出标签 (新建一个分支,指向某个标签)
分支名 标签名
git tag -d <标签名> 删除本地tag
git push origin :refs/tags/删除远程tag
#IDEA下使用Git提交代码
设置忽略项:
.idea
target里都是编译后的class文件。不需要上传
.iml
IDEA从远程仓库克隆工程到本地
IDEA从远程拉取代码
或者点击这个按钮也可以拉取代码
IDEA使用Git进行代码版本对比
IDEA创建分支
合并分支
SSH协议
生成Git提供的Git bash提供的命令行工具来生成公钥和私钥
1.使用命令ssh-keygen -t rsa生成秘钥
2.在windows本地用户的.ssh文件夹下找到他们
3.id_rsa 私钥,id_rsa-public 公钥
4.复制公钥到远程服务器
5.复制私钥clone项目