git相关操作命令及问题

Git常用操作汇总

使用git push是,采用以下步骤:

git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:wuchao226/githubApp.git
git push -u origin master

branch 的创建、切换和删除

创建 branch

创建一个叫做 "feature1" 的 branch,只要输入:

git branch feature1

切换 branch

不过新建的 branch 并不会自动切换,你的 HEAD 在这时依然是指向 master 的。你需要用 checkout 来主动切换到你的新 branch 去:

git checkout feature1

除此之外,你还可以用 git checkout -b 名称 来把上面两步操作合并执行。这行代码可以帮你用指定的名称创建 branch 后,再直接切换过去。还以 feature1 为例的话,就是:

git checkout -b feature1

在切换到新的 branch 后,再次 commit 时 HEAD 就会带着新的 branch 移动了:

...
git commit

git 切换分支

  • 查看分支
    git branch -a
  • 查看本地分支
    git branch
  • 切换分支
    git checkout "分支名"(如切换为 master 分支:git checkout master)
删除 branch

删除 branch 的方法非常简单:git branch -d 名称。例如要删除 feature1 这个 branch:

git branch -d feature1

git 添加标签 tag

打印所有标签
git tag
打印符合检索条件的标签
git tag -l <版本号>
创建轻量标签
git tag 1.0.0 -light
创建带备注标签(推荐)
git tag -a 1.0.0 -m "这是备注信息"
删除标签(本地)
git tag -d 1.0.0
git 删除远程标签:
git push origin :refs/tags/标签名  
例如:git push origin :refs/tags/v3.1.0
将本地标签发布到远程仓库

// 发送所有

git push origin --tags

// 指定版本发送

git push origin 1.0.0

常见问题

1. 输入$git remote add origin git@github.com:wuchao226(github帐号名)/breakpointResume(项目名).git时

提示错误信息 fatal: remote origin already exists.

解决办法:
1、先输入$ git remote rm origin

2、再输入$ git remote add origin git@github.com:wuchao226/breakpointResume.git 就不会报错了!

2. 输入git push

提示错误fatal: The current branch master has no upstream branch.
原因:主要是由于远程仓库太多,且分支较多。在默认情况下,git push时一般会上传到origin下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为它无法判断你的push目标。
解决办法其实就是确定这两个值,方法有两种:

  • git push --set-upstream origin master其中的origin是你在clone远程代码时,git为你创建的指向这个远程代码库的标签,它指向repository。为了能清楚了解你要指向的repository,可以用命令git remote -v进行查看。master是你远程的branch,可以用git branch -a查看所有分支,远程分支是红色的部分。然后确定好这两个值后,将命令中标粗的参数换掉即可。
  • git push -u origin master根据需要,替换origin和master。

两个命令的区别是第一条命令是要保证你的远程分支存在,如果不存在,也就无法进行关联。而第二条指令即使远程没有你要关联的分支,它也会自动创建一个出来,以实现关联。

3.输入git push -u origin master

提示错误error: failed to push some refs to 'git@github.com:xxx/xxx.git'
原因:
GitHub远程仓库中的README.md文件不在本地仓库中。
解决方案:

$ git pull --rebase origin master
$ git push -u origin master
4.输入git push -u origin master

提示以下错误:

error: src refspec master does not match any. 
error: failed to push some refs to "xxxxxxx"

用如下方法解决:

git add .
git commit -m "write your meaaage"
5. git 执行git pull –rebase报错误如下:
Cannot rebase: Your index contains uncommitted changes.
Please commit or stash them.

原因:如果有未提交的更改,是不能git pull的
解决
先执行git stash
再执行 git pull –rebase
最后再执行 git stash pop

git stash #可用来暂存当前正在进行的工作
git stash pop #从Git栈中读取最近一次保存的内容

6. Push master to origin/master was rejected by remote

在使用 Git Push 代码的时候,会出现 Push to origin/master was rejected 的错误提示。
解决
输入下面命令:

git pull origin master --allow-unrelated-histories

然后在 push 即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 4,976评论 0 9
  • 安装: windows安装git-- msysgit是windows版的git,下载单独的.exe按照默认选项安装...
    alceyp阅读 720评论 0 0
  • 配置 首先是配置帐号信息ssh -T git@github.com # 登陆 github 修改项目中的个人信息 ...
    guanguans阅读 773评论 0 3
  • 1. GIT命令 git init在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个re...
    江边一蓑烟阅读 843评论 0 0
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,999评论 3 27