美文网首页
Git 常用指令教程

Git 常用指令教程

作者: taogan | 来源:发表于2021-09-10 16:49 被阅读0次
参考指令:https://liaoxuefeng.gitee.io/resource.liaoxuefeng.com/git/git-cheat-sheet.html#

基础指令

把目录变成Git可以管理的仓库

git init

把文件添加到版本库

git add <file1> <file2> ...

把文件提交到仓库

git commit -m <describe>

显示工作区状态

git status

显示提交内容和工作区之间等的差异

git diff <file>

显示提交日志

git log [--pretty=oneline]

重置当前HEAD到指定状态(版本回退)

git reset --hard [HEAD / commit id]
    HEAD   : 当前版本
    HEADn... : n个版本(n 为 ^),也可以写成HEAD~n (此时 n 为数字)
    commit id  :版本号

查看命令历史

git reflog

撤销修改

git checkout -- <file>

      一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

      一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

      总之,就是让这个文件回到最近一次git commit或git add时的状态。

      git checkout -- file命令中的 -- 很重要,没有--,就变成了“切换到另一个分支”的命令

撤销暂存区的修改

git reset HEAD <file>

      git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本

      如果暂存区提交到了版本库,可以使用[版本回退]到指定版本

删除文件

git add/rm <file> : 先手动删除文件,然后使用 git rm <file> 和 git add <file> 效果是一样的

      另一种情况是删错了,因为版本库里还有,所以可以很轻松地把误删的文件恢复到最新版本:git checkout -- <file>

      git checkout -- 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

远程仓库

添加远程库

由于你的本地Git仓库和远程仓库(github/gitee)之间的传输是通过SSH加密的,登陆github/gitee,添加你自己的id_rsa.pub文件的内容。所以,需要一点设置:
创建SSH Key

ssh-keygen -t rsa -C "你的邮箱"

本地仓库和远程仓库,两个仓库进行远程同步

git remote add origin git@gitee.com:xxxxxxx.git :远程库的名字就是origin

本地库的所有内容推送到远程库上

git push -u origin master

      第一次推送master分支时,加上了-u 参数,Git不但会把本地的master分支内容推送的远程新的master分支,
      还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
      git push origin master

查看远程库信息

git remote -v

删除远程库

git remote rm origin
      
      此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。
      远程库本身并没有任何改动。要真正删除远程库,需要登录到远程仓库,在后台页面找到删除按钮再删除。

远程库克隆

从远程库克隆到本地库

git clone git@gitee.com:xxxxxxx.git

      远程仓库给出的地址不止一个,还可以用 https://gitee.com/xxxx.git 这样的地址。
      实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。

      使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,
      但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https

分支管理

创建并切换分支

git checkout -b <分支>
      -b :创建并切换,相当于以下两条命令:
              git branch dev
              git checkout dev

查看当前分支

git branch

切换分支

git checkout <分支>

合并分支

git merge <分支> : 用于合并指定分支到当前分支

删除分支

git branch -d <分支>

储藏工作现场

git stash

查看储藏工作现场列表

git stash list

复制一个特定的提交到当前分支

git cherry-pick <commit id>

如果要丢弃一个没有被合并过的分支

git branch -D <分支>

标签管理

创建标签

git tag <标签名称>

给指定的 commit id 创建标签

git tag <标签名称> <commit id>

删除标签

git tag -d <标签名称>

推送标签到远程

git push origin <标签名称>

一次性推送全部尚未推送到远程的本地标签

git push origin --tags

从远程删除标签

git push origin :refs/tags/<标签名称> : 删除远程标必须先从本地删除

相关文章

网友评论

      本文标题:Git 常用指令教程

      本文链接:https://www.haomeiwen.com/subject/uhugwltx.html