文章

git学习笔记

查看git版本

git --version

初始配置

git config --global user.name "hubin.zou"     //设置用户名
git config --global user.email hubin.zou@example.com      //设置邮箱信息
git config --global --list 显示你的账户邮箱及服务器地址

创建仓库

mkdir /myproject
cd /myproject
git init   //初始化仓库

vim readme.md   //创建一个文件

git add readme.md   //将修改过的某个文件添加到暂存区
git add .  //添加所有修改过的文件到暂存区

git commit -m "add readme.md"    //将暂存区的更改提交到版本库,并添加提交信息
git status   //查看git仓库当前状态  
git log      //查看提交历史  
git diff     //查看工作区和暂存区之间的差异

git工作区、暂存区和版本库的概念

工作区是本地计算机的项目目录,文件的修改在工作区中进行,但这些修改还没被记录到版本控制中
暂存区是一个临时存储区域,它包括了即将被提交到版本库中的文件快照。add命令是加入暂存区
版本库包含项目的所有版本历史记录,commit是添加到版本库

忽略文件

创建一个.gitignore的文件,里面填写无需纳入git管理的文件
比方创建了一个test的文件夹,可以填写test/

版本回退

git log --pretty=oneline   //每条日志只显示一行
git reset --hard HEAD^   //回退上一个版本,上上个版本写成HEAD^^,往上第100个版本写成HEAD~100
如果想再回到之前最新的那个版本
git reflog   //查看历史版本记录
git reset --hard commitid    //commitid可以只填前几位

撤销修改

git checkout -- readme.md  //将这个文件回到最近一次add或commit的状态,该命令可以丢弃工作区的修改
git reset HEAD readme.md  //将暂存区的修改撤销,重新放回工作区

移除文件

git rm readme.md
git commit -m "remove readme.md"

分支管理

git checkout -b dev    //创建并切换至一个名为dev的分支
git branch  //列出所有分支
git checkout master    //切换至master分支
git merge dev   //将其他分支合并到当前分支
git branch -d dev  //删除分支

标签管理

切换到需要打标签的分支

git tag v1.0  //创建标签
git tag     //查看所有标签
默认标签是打在最新提交的commit上,如果需要给之前提交的打标签,找到对应的commit
git log --pretty=oneline --abbrev-commit
git tag v0.9 f52c633
git tag -d v1.0  //删除标签
git push origin v1.0 //推送一个本地标签
git push origin --tags  //推送所有的本地标签
git push origin :refs/tags/v1.0  //删除一个远程标签

添加远程库

git remote add origin git@gitlab.com/root/learngit.git  //添加远程仓库
git push -u origin master   //将本地库的所有内容推送到远程库
后续只要有改动,就可以执行git push origin master推送
git remote   //查看当前有哪些远程库,加参数v可以看到详细地址
git remote rm origin //删除远程库(根据名字)
git pull orgin master   //拉取远程代码

克隆远程仓库

git clone https://github.com/username/repo.git

License:  CC BY 4.0