git常见命令
git init :初始化本地仓库,会生成一个.git文件,该文件用于管理和追踪该本地仓库,只有在git仓库下的文件才能被管理!
git config user. name "用户名"
git config user. email " 邮箱"
git config -1 :列出当前git仓库的所有配置项
git config --unset ... 重置 当前 某些配置
git config --global ...全局配置项
利用git config --global ...全局配置的项目不能直接用git config --unset重置掉,需要加上--global
git cat-file -p gitid:查看对应gitid的新增内容
git diff file:查看暂存区和工作区的差异
git diff --file:查看版本库与工作区的差异
git status:查看工作区和暂存区的状态
git reset --[soft|mixed|hard] gitid:回退到指定gitid的文档
--soft:只有版本库会回退;
--mixed:只有版本库和暂存区都会回退;(默认)
--hard:版本库、暂存区、工作区的内容都会回退;
git checkout -- file name :撤销工作区中的代码,回退到最近一次commit或add时的版本
git reset HEAD filenmae:撤销暂存区中的文件,filename换为" . "表示撤销暂存区中的所有文件
git branch : 查看已存在的分支
git branch name:创建分支
git checkout 分支名称:切换分支
git checkout -b name:切换分支,分支不存在,就先创建在切换
git merge 分支名称:合并分支
工作区的不干净之前,不允许合并和切换到其它分支,需要暂存或者提交当前分支上的内容才能进行merge和checkout
git branch -d 分支名称:删除分支(需要在不同的分支进行删除)
git branch -D name:强制删除分支,用于在分支上进行了开发,单还为merge的分支
分支指针指向的版本即为当前分支的最新版本
git clone url;克隆远程仓库到本地
git clone 命令会将远程仓库的标签信息和分支信息都拷贝下来,但是只会拷贝远程仓库默认分支的历史版本,而一般情况下远程仓库的默认分支就是master分支,因此git clone实际上就只会将master分支上的历史版本拷贝下来,不会讲其它分支的历史版本拷贝下来
git remote -v 查看当前本地仓库与远程仓库的关联信息
git push <远程仓库名> <本地分支>:<远端分支>;推送版本;
git pull <远程仓库名> <远程分支>:<本地分支>;拉取版本x
git push <远程仓库名> //推送本地name分支到远端name分支,如果远端name分支不存在则创建之;
pull:会将远程仓库的标签和分支信息拉取下来,也会将指定拉取的远程分支的最新版本拉取下来
直接是用git push和git pull的情况:
实际上是当前工作分支与远程某个分支建立的联系,eg:
本地local_dev分支与远程仓库的dev分支建了联系,因此当我们是用git push和git pull的时候实际上是从远程dev分支上拉取数据到本地的local_dev分支
如果在push的时候出现失败了,那么说明在本次push之前,已经由用户想该远程分支push过代码了,我们需要将远程分支的代码pull拉取下来与我们本地分支上的代码进行合并,合并如果发生冲突,则解决冲突,没冲突就提交到本地分支,然后再重新push到远程分支
解决:
1、在push之前,先重新pull一下代码
2、如果pull的时候出现了合并冲突,解决合并冲突,重新提交,重新推送
git check--ignore -v filename;查看特定文件被忽略的原因
git config alias.别名 命令;给git命令取别名,如果想让别名在全局生效,那么加上--global
git tag name;为最近一次提交打标签(不带描述信息)
git tag name commitId;为指定一次提交打标签
git tag -a name -m "mes";//为最近一次提交打一个带有描述信息的标签,-a表示:创建一个带有描述信息的标签;-m 后面跟的描述信息
git tag -a name commitID -m "mes";为指定一次提交打一个带有描述信息的标签
git show tagNme;//展示指定标签的详细信息
git tag -d name;//删除指定标签
git push ;//将指定标签推送到指定远程仓库
git push --tags;//将所有标签推送到远程仓库
删除远程标签:
- git tag -d tagName;//先删除本地
- git push :refs/tags/tagName;//删除远程标签or git push origin --delete tagName
git remote show origin;//查看远程仓库的分支情况
git remote prune origin ;//删除远端分支记录
git branch --set-upstream-to=origin/远端分支 本地分支;//本地分支与远端分支建立联系
git push origin --delete branchName;//本地删除远程分支
分支记录
git branch --set-upstream-to=origin/远端分支 本地分支;//本地分支与远端分支建立联系
git push origin --delete branchName;//本地删除远程分支