Git的基础用法

建立一个git的文件夹,然后初始化,初始化完成后.git的隐藏文件
mkdir "filename"
git init
查看仓库状态
git status
来添加一个文件的版本库中去
3.git add filename
将改变的文件提交到本地的仓库中去
git commit 
查看提交日志
git log 
查看操作日志
git reflog
查看日志提交的内容:
git log -p 哈西值
查看远程仓库
git remote -v 
回退上一个版本
git reset --hard HEAD^ 
号来回退的那个版本
git reset --hard sha1
来清理工作区
git checkout -- filename

查看远程分支

查看所有的远程分支
git branch -r 
查看远程和本地所有分支:
git branch -a
查看本地分支,在输出结果中,前面带* 的是当前分支。
git branch

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

使用该方式会在本地新建分支x,并自动切换到该本地分支x,采用此种方法建立的本地分支会和远程分支建立映射关系
git checkout -b 本地分支名x origin/远程分支名x
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。采用此种方法建立的本地分支不会和远程分支建立映射关系。
git fetch origin 远程分支名x:本地分支名x

本地分支和远程分支建立映射关系的作用

这样使用git pull或者git,push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支了。
git branch -vv
上面的本地分支和远程分支都有映射关系,如果没有,就需要手动建立
git branch -u origin/分支名
或
git branch --set-upstream-to origin/分支名

撤销本地分支与远程分支的映射关系

git branch --unset-upstream 
之后可以再次用git branch -vv 查看本地分支和远程分支映射关系

tag部分

补打标签(打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取))
$ git tag -a v0.1.1 9fbc3d0
$ git tag -l ‘v0.1.*’ # 搜索符合模式的标签

创建附注标签

$ git tag -a v0.1.2 -m “0.1.2版本”
与切换分支命令相同,用git checkout [tagname]

查看标签信息

用git show命令可以查看标签的版本信息:
$ git show v0.1.2
查看所有的tag
git tag    //查看当前分支的所有的tag
git push origin v2.4.5xxxx   //将当前的tag推送到远程
git push orinin tags;	    //将所有的tag都推送到远程

fatal: refusing to merge unrelated histories
git pull origin master --allow-unrelated-histories  //没有2个共同的源的时候可以这样拉
git tag -d v0.1.2 # 删除标签
git push origin --delete 1.0.0  //删除远程的tag

将当前的内容存在一个暂存区

git stash
git stash list //查看当前的暂存区
git stash pop stash@{num}
git stash clear
同时注意使用git stash pop命令是恢复stash队列中的stash@{0}

查看远程仓库和本地仓库的修改

git diff master origin/master

删除本地分支   git branch -d xxxxx

删除远程分支:git push origin --delete <branchName>

查看当前的配置

git config global user.name "name";
git config global user.email "emal";
git config --list

分支管理

建立分支

git checkout -b "branchname"

rebase

git rebase dev  //将dev弄到当前的分支  

host文件

host gitlab.corp.xxxx.com
port 52600
hostname gitlab.corp.xxxx.com
RSAAuthentication yes
IdentityFile /Users/xxxx/.ssh/xxxx_id_rsa
User xxxx

比对2个分支倒入文件

 git diff gray dev-3.0.0 >> gray-dev.log
 
 git diff "commitid" "filepath"

git 添加远程地址

1.git remote add origin "url"
2.git remote rm origin    //删除远程地址

git 查看文件的提交记录

git log "filename" //查看某个文件的提交记录
git log -p "filename" //查看某个文件的different 记录

疑问

git 中的暂存区和git的工作区的区别是什么?

其实.git 文件中就包含了暂存区,我们在没有add 之前的区域就是工作区

git rm --cached filepath 和 git reset --hard HEAD 区别

前者是删除制定路径的文件,而后者是针对全局

git 流程图:

一个非常棒的GIT联系网站:
https://learngitbranching.js.org/?locale=zh_CN

posted @ 2021-05-18 10:49  弄啥来  阅读(53)  评论(0)    收藏  举报