本篇文章给大家带来了关于git的相关知识,其中主要介绍了linux和windows下git的基本操作,希望对大家有帮助。
推荐学习:《git教程》
git学习笔记——linux和windows下git的基本操作github主页:https://github.com/taot-chen
一、linux环境1、安装gitsudo apt-get install git
2、设置git账号信息git config --global user.name 你的git账号用户名git config --global user.email 你的邮箱
3、设置让credential helper 帮助我们在一定时间内在内存中保存我们的code,其中第二行为设置超时的时间git config --global credential.helper cachegit config --global credential.helper 'cache --timeout=3600'
4、获取ssh秘钥和远程git关联ssh-keygen -t rsa -c 你的邮箱# 之后一路回车cd ~/.ssh cat id_rsa.pub# 再在terminal中复制密钥,添加到github的settings的ssh公钥中,完成免密码登录关联# 验证ssh通信情况,提示连接成功即可ssh -t git@github.com# 其他操作就和为windows的几乎一致
5、push常用命令git init # 初始化本地仓库git config --list # 可以查看你的git配置信息 # 提交文件到本地仓库git add abc.cppgit commit -m first commit //-m 用于指定本次提交的描述信息 # 提交到repositorygit remote add origin github仓库ssh地址 //关联仓库git push origin master #master 是分支名 # 以后若提交到相同仓库,提交到本地仓库之后,直接git push即可# 克隆项目git clone 项目的ssh地址
6、push报错时调大缓存git config http.postbuffer 52428800 //(根据文件大小随便调整)
二、windows环境1、版本控制;备份与修改1)本地版本控制系统 把版本号存入数据库,来区分记录版本的更迭。
2)集中化版本控制系统(cvcs) 具有一个专门用于存放版本的修订版本的服务器,并且能够借助版本记录来方便地定位相关的记录。
3)分布式版本控制系统(dvcs) 客户端不只是提取出最新版本的文件快照,而是把最原始的代码仓库镜像到本地,任何一处协同处理的服务器故障,事后都可以用任何一个镜像出来的本地仓库恢复。
2、windows下git的安装和配置1)安装 在git官网下载安装对应的版本,在菜单中找到git->git bash,出现命令行窗口,即是安装成功。
查看版本:
git --version
2)配置用户名和邮箱git config --gobal user.name your user name # 配置用户名git config --gobal user.email your email #配置邮箱git config --list # 查看所有配置
3、git文件的三种状态和工作模式1)三种状态已提交(committed):数据已经安全地保存到本地数据库中已修改(modified):修改了文件,但还没保存到数据库中已暂存(staged):对一个已修改的文件的当前版本作了标记,使之包含在下次提交的快照中2)三个工作区域工作区:本地项目目录暂存区:对修改后的文件进行快照,添加到暂存区git仓库:工作区的隐藏目录.git,不算是工作区,是git的版本库3)git的工作流程在工作区中修改某些文件;对修改后的文件进行快照,添加到暂存区提交更新,将保存在暂存区的快照永久存储在git仓库中
拉取: git仓库->本地工作区
提交: 本地工作区->暂存区->git仓库
4、创建版本库并提交文件1)初始化本地仓库 在本地初始化一个没有任何文件的空仓库。
git init
2)新建文件夹git01.txt并添加到暂存区git add # 将文件添加到暂存区git add . # 提交当前目录的全部文件git status # 查看文件的状态git commit # 将暂存区的文件提交到本地仓库git log # 查看完整的提交日志信息git diff head --file # 查看文件法file历次提交的区别
例如:
在git bash中
git init # 创建空仓库git add git01.txt # 将文件git01.txt添加到缓存区git commit -m '第一次提交' #提交文件到本地仓库,单引号内的内容是本次提交的注释,必须要有git status # 查看暂存区文件状态git log # 查看完整的提交记录
5、文件修改与提交修改 可以直接在工作区文件中进行修改,之后再添加到暂存区,提交到本地仓库
注: 提交之前必须先添加到暂存区
1)暂存区文件的提交与撤销提交:git add/git commit
撤销:
从暂存区移除:
git restore --staged git02.txt # 从暂存区移除文件git02.txtgit reset head git02.txt # 取消关于文件git02.txt上一次的操作
2)版本回退简化显示提交记录:
git log --pretty=oneline
此时head指针默认指向最后一次提交的记录。版本回退就是让head指针想要回退到的版本。
git reset --hard head^ # 回退一个版本git reset --hard head^^ # 回退两个版本git reset --hard head~n # 回退n个版本git reset --hard 版本识别码” # 回退或者前进到版本识别码所在的版本git reflog # 显示所有的提交记录(包括head指向的版本之后的版本),即可以显示用户的每一次操作的记录
3)文件删除git ls-files # 查看本地仓库的文件目录git rm filename # 删除文件filename# 另一种删除方法:现在工作区删除文件,之后再提交操作即可
6、远程仓库1)githubgit clone 项目地址(github地址) # 下载github项目(可以不登陆)
2)ssh下载(需要登陆)# 首先需要在gitbash中生成一个keyssh-keygen -t rsa -c github邮箱# 找到生成的公钥,打开后复制,之后再去github中添加`ssh and gpg keys`# 验证有没有添加成功ssh -t git@github.com# 出现您以被成功认证即可(即此时已经将ssh绑定了github)# 下载项目git clone 项目地址 (ssh地址)
3)本地项目(本地仓库)推到远程仓库# 在github新建一个仓库# 将本地项目提交到本地仓库# 将本地仓库绑定github上面的远程仓库git remote add origin github仓库地址# 将其推到远程仓库的主干上(远程仓库中包含本地仓库的所有提交记录)git push -u origin master# 以后的更新推送,只需要在本地提交完成之后,直接如下命令git push
7、git分支操作 主干是已经上线的项目,分支中的任何操作都不会影响主干的功能。在分支完善无误之后,再将其合并到主干即可。
1)本地分支操作常用基本命令
命令描述
git checkout branch 切换到指定分支
git checkout -b new_branch 新建分支并切换到新建分支
git branch -d branch 删除指定分支
git branch 查看所有分支,并且*标记当前所在分支
git merge branch 合并分支
git branch -m / -m oldbranch newbranch 重命名分支,如果new_branch名字分支已经存在,则需要使用-m强制重命名
切换到指定分支:git checkout branch新建分支并切换到新建分支:git checkout -b new_branch删除指定分支:git branch -d branch查看所有分支,并且*标记当前所在分支:git branch合并分支:git merge branch重命名分支,如果new_branch名字分支已经存在,则需要使用-m强制重命名:git branch -m | -m oldbranch newbranch
注:
只能在主干分支上来合并分支,不可反过来。(虽然git不会报错,但是这样是不可以的)
分支所具有的内容,就是创建分支的时候主干所具有的内容。
2)远程分支操作分支push和pull
相关命令
命令描述
git branch -a 查看本地与远程分支
git push origin branch_name 推送本地分支到远程
git push origin :remote_branch 删除远程分支(本地分支还保留)
git checkout -b local_branch origin/remote_branch 拉取远程指定分支并在本地创建分支
获取远程分支的最新状态
git fetch
图表的方式显示操作记录
git log --graph --pretty=oneline
3)本地分支冲突解决# 当分支和主干的同一文件的同一行不同的时候,合并分支就会出现冲突# 根据具体的需要修改,使之相同即可
4)多人协同操作冲突# 两个用户对同一个文件的同一行进行了不同的操作# 解决方法:在推送之期拉一下远程仓库,在本地根据具体的需求解决完冲突之后再推送
9、标签管理标签操作基本命令git tag
命令描述
git tag tag_name 新建标签,默认为head
git tag -a tag_name -m ‘xxx’ 添加标签并指定标签描述信息
git tag 查看所有标签
git tag -d tag_name 删除一个本地标签
git push origin tag_name 推送本地标签到远程
git push origin --tags 推送全部未推送过的本地标签到远程
git push origin :refs/tags/tag_name 删除一个远程标签
10、idea下git基本操作1)环境集成配置configure->settings->搜索git->在path to git executable中添加git的安装路径(一直到git.exe)->test->出现版本号,即表示成功->添加github
或
file->other settings->setting for new projects->git/git hub
2)推送项目到远程仓库项目提交到本地仓库->创建远程仓库->绑定远程仓库->推送到远程仓库
3)分支操作4)gitignore插件5)冲突及其解决推荐学习:《git学习教程》
以上就是完全掌握linux和windows下git的基本操作的详细内容。