美文网首页
git使用总结

git使用总结

作者: 闲人追风落水 | 来源:发表于2019-07-12 19:33 被阅读0次

    git使用总结

    git --version //查看所安装的git的版本

    git config --global user.name //获取当前登录的用户

    git config --global user.email //获取当前登录用户的邮箱

    创建gitignore忽略文件

    touch .gitignore

    配置本地的账号和邮箱

    git config --global user.name "Your Name" //配置本地的账号

    git config --global user.email "email@example.com" //配置本地的邮箱

    生成 ssh的命令

    ssh-keygen -t rsa -C "你的git本地的配置邮箱" // 引号里面是邮箱地址

    <mark style="box-sizing: border-box;">注意:ssh只有在git中添加后才能生效</mark>

    克隆项目

    git clone + 项目地址

    版本回退

    git log 或者 git log --pretty=online //查看历史数据

    <mark style="box-sizing: border-box;">在Git中, HEAD表示当前版本, 也就是最新版本, 上一个版本使用HEAD^ , 上上个版本使用HEAD^^, 往上100个版本使用HEAD~100, 然后使用git reset命令回退:</mark>

    git reset --hard HEAD^

    git reset --hard 2044be7c //回到某个版本 后面的字符串是commit id

    git reset id //id为返回的特定版本号

    文件修改提交到本地暂存区

    git add file //file 为修改文件名

    也可以保存所有的文件

    git add .

    提交当前工作空间的修改内容

    git commit -m "修改了什么的介绍"

    查看标签

    git tag

    查看某些tag

    git tag -l version1.*

    创建tag

    创建轻量级tag:

    git tag version 1.0 也可以 git tag 1.0

    带有信息的tag

    git tag -a version1.0 -m 'first version'

    签名的tag:

    git tag -s version1.0 -m 'first version'

    删除tag

    git tag -d v1.0

    删除远端服务器的标签

    git push origin :refs/tags/0.1.3

    验证tag

    git tag -v version1.0

    共享tag

    git push origin v0.1.2//将v0.1.2提交到服务器

    git push origin --tags //将本地所有Tag一次性提交到git服务器

    切换到已有Tag

    git tag --list // 查看已有tag列表

    git checkout [tag/branch/commit] //切换到指定tag/branch/commit都是此命令

    新建并切换到分支

    git checkout -b 分支名字

    新建分支

    git branch 分支名字

    查看所有分支

    git branch

    查看远程分支

    git branch -a //查看远程和本地的分支

    git branch -r

    切换分支

    git checkout 分支名字

    合并分支

    git merge 分支名字 //合并某个分支到当前分支

    删除本地分支

    git branch -D 本地分支名字

    删除远程分支

    git push origin :远程分支名字

    git push origin --delete 远程分支名字

    拉取远程分支并创建本地分支

    git checkout -b 本地分支名字 origin/远程分子名字

    本地推送到远程

    git push origin 分支名字

    推送本地分支local_branch到远程分支 remote_branch并建立关联关系

    a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch

    git push

    b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch

    git push -u origin/remote_branch

    c.远程没有有remote_branch分支并,本地已经切换到local_branch

    git push origin local_branch:remote_branch

    克隆某一个特定的远程分支

    git clone -b 分支名字 远程地址

    注意 这种情况克隆下来的代码和远程仓库的 被克隆的分支是直接对应的

    当需要更新时直接 git pull 需要提交时直接 git push 即可 不需要再添加其他后缀

    git取消文件跟踪

    如果是对所有文件都取消跟踪的话,就是

    git rm -r --cached .   //不删除本地文件

    git rm -r --f .   //删除本地文件

    对某个文件取消跟踪

    git rm --cached readme1.txt 删除readme1.txt的跟踪,并保留在本地。

    git rm --f readme1.txt 删除readme1.txt的跟踪,并且删除本地文件。

    <mark style="box-sizing: border-box;">如果你在创建.gitignore文件之前就已经push项目了,那么即时你在.gitignore文件中写入新的规则,这些规则也不会起作用。</mark>

    <mark style="box-sizing: border-box;">有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交</mark>

    git rm -r --cached . git add . git commit -m 'update .gitignore'

    比较差异

    比较的是暂存区和工作区的差异

    git diff 比较的是暂存区和历史区的差异

    git diff --cached 比较的是历史区和工作区的差异(修改)

    git diff master

    git remote prune origin 刷新本地分支显示

    git remote prune origin

    <mark style="box-sizing: border-box;">在你经常使用的命令当中有一个git branch –a 用来查看所有的分支,包括本地和远程的。但是时间长了你会发现有些分支在远程其实早就被删除了,但是在你本地依然可以看见这些被删除的分支。</mark>

    生成ssh

    ssh-keygen -t rsa -C “your_email@example.com

    相关文章

      网友评论

          本文标题:git使用总结

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