目录
git入门:下载-安装-配置-日常使用
git简介
git是一个分布式的版本控制系统。
版本控制:是指对文件的版本控制,会记录用户对文件的修改、提交等操作。
git安装
git下载官网
选择自己需要的git下载,一路默认安装(也可以csdn上搜素下详细安装教程,如网上搜的安装教程)
git用户名和邮箱配置
以window系统为例子:
Git 全局设置,配置用户名和邮箱(安装git之后必须要配置用户名和邮箱):
打开任意文件夹,在文件夹任意位置右键,点击 git bash 进入git命令行终端
分别输入下面的配置命令,xxx
是个人的用户名或邮箱,回车。
git config --global user.name "xxx"
git config --global user.email "xxx"
配置完之后,可以查看下配置的用户名和邮箱,然后就可以开始使用git进行版本控制了。
git config -l
配置SSH公钥
使用SSH公钥可以让你在你的电脑和 Gitee 通讯的时候使用安全连接(Git的Remote要使用SSH地址)。
配置SSH公钥能实现本电脑与远程仓库免密链接,本电脑就可以免密拉取、提交对应远程仓库的代码。
打开git bash
(可以在电脑目录C:\Users\[用户名]\.ssh
中打开git bash,电脑生成公钥会保存在这个目录下)
ssh-keygen -t -rsa # 一路回车默认生成ssh公钥
生成公钥之后在电脑目录C:\Users\[用户名]\.ssh
会生成两个文件
将带有pub的公钥粘贴到gitee上,提交输入密码之后就配置公钥成功了。
git 常用命令
1)创建全新的本地git库(本地代码库)
在本地文件目录下打开git bash
mkdir notefile
cd notefile
git init # 初始化本地git仓库,完成全新代码库创建
2)克隆一个远程代码库到本地,
git clone [url]
3)在本地代码库编写代码并提交修改
touch README.md
git add README.md # 将本地工作区的修改保存到暂存区
git commit -m "first commit" # 将本地暂存区的内容提交到本地代码库(本地资源库)
git remote add origin https://gitee.com/lslan/note-draft-file.git # 本地连接远程仓库
git push -u origin "master" # 将提交的本地代码库推送到远程代码库
4)git分支
分支:是包含提交对象的哈希值的文件,也可以理解为分支是指向提交对象的指针。
git流模型:
分支操作命令
git branch # 列举本地仓库的所有分支
git branch -r # 列举远程仓库的所有分支
git branch [branch_name] # 在本地仓库新建一个分支
git checkout -b [branch_name] # 在本地仓库新建一个分支,并切换到该分支
git merge [branch] # 合并指定分支到本地当前分支
git branch -d [branch_name] # 删除本地分支
# 删除远程分支
git push origin --delete [branch_name]
git branch -dr [remote/branch]
5)查看提交日志git log
git log # 查看全部提交日志
git log -2 # 查看最近两次提交的日志
git log --oneline # 独行显示每一次提交日志
git log --graph # 日志的图表显示
6)在git上常用的linux常用命令:
pwd
cd..
pwd
ls
mkdir newtestfile,newtestfile2
cd newtestfile1
touch newtest.txt
vi newtest.txt
cat newtest.txt
mv newtest.txt newtestfile2
cd..
rm -r newtestfile
history
git文件的4种状态
1)untracked(未跟踪):此文件在文件夹中,但是没有加入到本地代码库,不参与版本控制。通过git add
状态变成staged(暂存状态)。
2)unmodify(未修改状态):文件存在本地代码库,未被修改。
3)modified(修改状态):文件存在本地代码库,已经修改,但未被暂存。
4)staged(暂存状态):文件通过git add
之后变成暂存状态,可以进一步通过git commit
命令将暂存文件提交到本地代码仓库,此时本地代码库的文件和本地文件夹文件完全一致,文件转变为unmodify未被修改状态。
git status [filename] # 查看文件状态
git的贮藏功能–git stash
代码修改后还不想提交,可以通过stash存储修改的代码,无须提交即可获得一个全新干净的工作区,可以切换其他分支或者进行其他操作。
git stash # 暂存当前未commit的代码 ,存储修改的代码
git stash save "备注的内容" # 暂存当前未commit的代码并添加备注
git stash list # 查看stash标记
git stash apply # 应用最近一次stash
git stash apply stash@{序号} # 应用指定的stash # 恢复之前存储的修改内容
git stash pop # 应用最近一次stash并删除其记录
git stash pop stash@{序号} # 应用指定的stash并删除其记录
git stash drop # 删除最近一次stash
git stash drop stash@{序号} # 删除指定的stash
git stash clear # 删除所有stash记录
git的撤销/重置功能–git reset
git reset head~ # 同时撤销提交和暂存,代码修改还存在
git reset head~ --soft # 只是撤销提交commit,不撤销add,暂存状态保留
git reset head~ --hard # 同时撤销提交、暂存和修改,工作区的修改全部丢失
提交修正–git commit的amend配置项
对上一次提交进行重写覆盖,新的commitid会覆盖上次提交的id。
在上次提交的基础上修改再次提交,按照正常的流程:先git add
,然后提交
git commit --amend -m "修正第一次提交"
这时候终端会进入文本编辑状态,可以编辑修改提交信息和描述,无需编辑的话,直接按下 Esc键退出编辑模式,在键入 :wq
回车退出并保存修改,完成提交。
最后再git push
,就会覆盖上次提交。
-完-