在介绍git常用命令我们之前先了解一下semver和版本名称。

semver
semver是语义化版本(Semantic Versioning)规范 的一个实现,目前是由 npm 的团队维护,实现了版本和版本范围的解析、计算、比较。

版本名称解释
当你看到以下版本带有以下关键词时,它们分别代表:

  • alpha: 内部测试版本,除非是内部测试人员,否则不推荐使用,有很多bug
  • beta:公测版本,消除了严重错误,还是会有缺陷,这个阶段还会持续加入新的功能
  • rc:Release Candidate,发行候选版本,这个版本不会加入新的功能,主要是排错,修改bug
  • release:发行版本

git版本管理控制工具

类似工具:码云、gitee、gitlab

  • ssh密钥:使用密钥对与远程仓库进行通讯
  • http协议:使用用户名和密码生成的token与远程仓库进行通讯

git基础

1. 使用https方式克隆github上的项目(私有和共有),需要输入用户名密码(之前操作过那可能就不用了)
2. 使用ssh方式克隆github的项目
在个人设置的setting里找到ssh那一选项,然后点击generate shh key看教程,其实就是以下操作:
windows在git bash输入,mac和linux可以在任意终端输入

ssh-keygen -t rsa -b 4096 -C  "your_email@example.com"

生成的key默认存在c/users/username/.ssh/id_rsa
id_rsa.pub里面的内容就是ssh key啦,添加到github上
然后就可以clone ssh的url了。

3. 对于本地已有的代码项目,推到github上,执行以下命令:

git init
git add .
git commit -m "..."
git remote add origin github地址
git push -u origin master

使用-u即以后默认push到这个分支,即可直接用git push 代替git push origin master。

github地址为https时,这里要求输入用户名和密码;如果使用ssh就不用。

4. 对于已经是git仓库的文件夹,推送到多个仓库, 先使用git remote 来添加仓库,再push

git remote add origin url
git remote add origin1 url_1

分别push

git push origin master
git push origin1 master

5. 添加提交人的信息,方便管理

git config --global user.name "name" // 全局设置username

git config --global user.email "email" // 全局设置email

git log // 查看提交(commit)记录,可以看到提交人

git relog // 查看本地提交和哈希值,哈希值回退的时候会使用到

git config --global --list // 可以看到提交人的username和email

修改用户名和邮箱

git config --global --replace-all user.name “new name”
git config --global --replace-all user.email “new email”

relog是保存本地的所有提交以及切换,还包括reset操作。

6. 当你对文件进行了修改,但没开发完不想add,就可以使用

git stash

将修改的文件 放到工作区域外的缓存部分。
恢复就使用

git stash pop/apply

7. 查看哪些文件做了更改使用

git diff

git基础常用命令

拉取远程仓库

git clone url

新建分支

git branch dev

删除分支

git branch -D dev

复制master的代码并创建和切换到一个新分支

git checkout -b dev

本地分支推送到远程指定的分支

git pull origin 本地分支名:远程分支名

合并完代码,想回退到上一次提交

git reset --hard head^

添加tag

git tag v1.0.0

本地删除tag

git tag -d v1.0.0

查看本地所有tag

git tag --list

删除远程tag

git push origin :refs/tags/v1.0.0

删除远程分支

git push origin :<branchname>
// 或者
git branch -d -r <branchname>

取消git add到缓存区的一些文件

git reset HEAD 文件名

把工作区的内容丢弃掉,不要轻易使用

git checkout -- 文件名

查看远程分支有没有更新使用,取回特定分支的更新,但不直接合并

git fetch <远程主机名> <分支名>
git log -p FETCH_HEAD //在本地通过它查看刚取回的更新信息
merge FETCH_HEAD    //将拉取下来的最新内容合并到当前所在的分支中

重命名本地分支

git branch -m <oldbranch> <newbranch>

gitignore:

我们在项目文件里经常会看到gitignore文件,这个文件就是会在推送的时候忽略某些文件,不去推送它们。

有时候我们可能需要去更新和管理gitignore的内容,以下有三种方法可以帮助到我们:

  1. gitignore的github里查找相对的文件, 进行复制。
  2. gitignore.io根据自己的系统、idea、语言生成文件,进行复制。
  3. 使用vscode的小伙伴可以在vscode搜索gitignore generator的插件,然后ctrl+shift+P调出面板,搜索generator ,点击enter就可以选择内容,然后生成文件。

最后安利比vscode自己自带的git工具还好用的插件——gitlens~


叻妮
4 声望2 粉丝

在coding的海洋潜水