美文网首页
git 常用命令

git 常用命令

作者: 男人宫 | 来源:发表于2020-04-23 08:54 被阅读0次
常用命令

Git四种状态

0.未被管理的文件(Untracked),检测到有新的的文件,但还没被git跟踪管理
1.已修改(modified)修改了文件,但是还没有保存到数据库中
2.已暂存(staged)对一个已修改的文件的当前版本做了标记,让其包含在下次提交的快照中
3.已提交(committed)数据已经安全的保存在本地数据库中

Git初始设置

git config -global user.name "your name"  
git config -global user.email youremail@email.com

初始化仓库

git init

加入文件提交本地仓库

git add .
git commit -m '提交信息'
git commit -a -m '提交信息'   //相当于上面两句

克隆远程现有仓库

git clone 远程仓库地址

如果想定义本地的仓库名称,可以使用在后面加入自己的名称

git clone 远程仓库地址 自定义仓库名

检查当前文件状态

git status

查询文件更新哪些部分

git diff

删除指定文件

git rm 文件名

查看提交历史

git log
git reflog
git log --pretty=oneline  //简单的输出提交的历史记录

查看关联的远程仓库

git remote   //查看关联的名字
git remote -v   //查看远程仓库地址

删除远程仓库

git remote rm 远程仓库地址

推送

git push
撤回操作

在该工作区修改后如何撤回?

1. git checkout -- filename 撤销特定文件工作区的修改
2. git checkout . 撤销所有工作区的修改

在git add 命令后 如何撤销已经加入到暂存区的文件呢?

1.git reset HEAD -- . 撤销所有
2.git reset HEAD -- filename 撤销特定目标
3.git rm -cached filepath 将文件从缓存中删除
//注意:上面的步骤是从暂存区撤回到工作区状态,若想工作区也撤回,再执行工作区的撤回方法

已经提交了不合适的修改到版本库时,如何撤销本次提交?

//前提是没有推送到远程库
1. git log 或 git reflog 查看提交的版本号
2. git reset --hard commitId(版本号)  回退到对应版本
打标签

列出已有标签

git tag

轻量级标签

git tag 标签名

附注标签

git tag -a 标签名 -m '标签信息'

标签信息和提交信息

git show 标签名

在对应的版本号上后期打标签

git tag -a 标签名 版本号

将标签推送到远程仓库

git push origin 标签名  //需要先打上标签

一次上传多个标签

git push origin --tags
分支操作

创建分支

git branch 分支名称

删除分支

git branch -d 分支名称

强行删除未合并的分支

git branch -D 分支名称

删除远程分支

方法一: git push origin --delete 远程分支名称
方法二: git push origin :远程分支名称

创建并切换到跟踪远程分支dev

远程分支存在
git checkout -b dev origin/dev
git checkout --track origin/dev
远程分支不存在,本地分支存在
git push origin 本地分支名:远程分支名

查看关联的远程分支

git branch -vv

查看分支合并图

git log --graph

创建并切换分支

方法一: git switch -c dev 
方法二: git checkout -b dev

切换分支

方法一: git switch dev 
方法二: git checkout dev

查看分子

git branch

查看分支最后一次提交的内容

git branch -v

查看哪些分支已经合并到当前分支

git branch --merged

查看未合并的分支

git branch --no-merged

合并分支

//merge操作会生成一个新的节点,之前的提交分开显示。
//而rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。
git merge dev
git rebase dev
//merge
       D--------E
      /          \
 A---B---C---F----G---   dev, master
//rebase
A---B---D---E---C‘---F‘---   dev, master

拉取

git pull  //拉取并合并
git pull --rebase
git fetch  //只拉取到本地,并不会合并,需要程序员自己去git merge 去合并

rebase好处

想要更好的提交树,使用rebase操作会更好一点。
这样可以线性的看到每一次提交,并且没有增加提交节点。

merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。

而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

相关文章

网友评论

      本文标题:git 常用命令

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