git常用命令
本章节主要介绍git常用命令和日常使用过程中出现的问题以及相应解决办法,
,git remote -v
查看git仓库链接
,git remote rm origin
删除本地仓库链接
,git remote add origin + git 地址
新增本地仓库地址
,git branch branch_name
新建分支
,git checkout branch_name
切换分支
,git checkout -b branch_name
新建分支并切换
,git branch
查看本地分支
,git branch -al
查看本地与远程分支
,git branch -d branch_name
删除分支
,git push -u origin branch_name
将本地代码推送到远程分支
,git push -u origin master -f
远程仓库相关修改删除并回归到与本地分支一样的版本,然后上传你基于本地仓库的修改
,git pull
拉取当前分支远端代码
,git pull origin master
拉取远程master代码与当前分支合并
,git reset --soft push/branch_name
将本次提交的代码回滚
注:针对于push后回滚到git add 后
,git log
本地提交日志
,git show commitId
查看提交详情
,git reset --hard commitId
回滚到指定的版本
,git remote show origin
展示本地仓库与远程仓库的绑定情况
,git remote -v
展示远程仓库
,git branch --set-upstream-to origin/branch_name(远程分支) branch_name(本地分支)
绑定本地与远程分支
,git merge
远程与本地代码合并
,git fetch origin branch_name
拉取远端代码(不自动合并,需要手动合并)
,git stash
将未提交修改暂时存储在本地(暂存区,缓存区)保存堆,栈中
,git stash list
展示暂时存储在暂缓区的序号列表
,git stash pop
删除暂时保存的堆,栈
,git diff + file_path
显示某个文件的具体修改信息
,git checkout + file_path
清除某个文件的修改信息(慎用)
注: git常遇问题
,主分支代码合并
主干合并分支(分支代码同步主干)
git branch (查看当前分支是否为主支)
git checkout master(不是主支进行切换)
git merge branch_name --squash (分支代码同步)
--squash 含义 不提交,不移动HEAD, 因此推送代码时 需要手动commit
分支合并主干(主干代码同步分支)
git branch (查看当前分支是否为同步分支)
git checkout branch_name (不是同步分支进行切换)
git merge master (合并)
,git 远程仓库与本地分支版本不一致情况:
error pdates were rejected because the tip of your current branch is behind
解决方案:
git pull origin master[分支名可更换]
,git 推送常见错误
推送时注释错误
git reset --soft HEAD^ || commit-id
--soft 只撤销 commit 不撤销add 操作
--hard 撤销commit, add(注:此处撤销add表示 文件修改的内容全部消失)
推送时add文件添加出错进行撤销操作
git reset HEAD file_path (撤销某个文件)
git reset HEAD (把上一次add的文件全部撤销)
,使用git reset --hard HEAD^ 导致修改丢失恢复方法
,首先查看git 日志找到提交的commitid
git reflog
,根据commitid恢复
git reset --soft commitid
,项目代码冲突。
解决方法
git stash -- 将本地修改暂时存储在堆栈中
git pull -- 拉取远端代码
git stash pop -- 获取上一步存储在堆栈中的信息
git diff -- 查看冲突并根据信息解决
以上步骤都操作后进行代码提交即可
,代码推送事项
推送前必须拉取远端代码 git pull
推送代码时尽量指定上传的文件避免全部上传(git add .)
在推送过程中只要git commit -m "notes" 过后git日志中就会显示(git log )
,当git clone 且 ssh端口不是默认22的时候,会显示 Connection refused (链接被拒接)
git clone ssh://git@101.34.xx.xxx:port/git/home/test
,git clone时 ssh 还是22 但是提交的时候已经变了 也会提示 connection refused
此时需要先删除本地仓库地址,然后重新添加
git remote -v (查看本地仓库地址, 操作之前最好备份)
git remote rm origin (删除仓库地址)
git remote add origin + 仓库地址(克隆地址)