常见git问题的解决方案汇总,包括git更换新的远程地址,管理本地及远程分支,git的tag管理

Git删除旧的远程地址添加新的远程地址

1. 首先在需要查看的项目中右键选择 “Git Bash Here”,弹出命令框。

常见git问题的解决方案汇总,包括git更换新的远程地址,管理本地及远程分支,git的tag管理_第1张图片

2. 输入“git remote -v”查看项目远程地址。

常见git问题的解决方案汇总,包括git更换新的远程地址,管理本地及远程分支,git的tag管理_第2张图片

git remote -v

3. 通过命令先删除再添加远程仓库

git remote rm origin // 删除旧的远程地址
git remote add origin ******   // 添加新的远程地址

git branch 命令查看分支、删除远程分支、本地分支

1、查看本地分支 :

 git branch

前面带有*号的是当前分支

常见git问题的解决方案汇总,包括git更换新的远程地址,管理本地及远程分支,git的tag管理_第3张图片

2、创建分支 :git branch  -b [branchname]

$ git checkout -b other_branch
Switched to a new branch 'other_branch'

需要注意,创建分支时,不会有什么提示。

3、 查看全部分支(包含本地和远程) :git branch -a

$ git branch -a
  master
* other_branch
  remotes/origin/master
domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (master)

4 、删除本地已合并的分支:

使用时应注意是否已合并,是否在其他分支(只有在其他分支,才能删除该分支)

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (other_branch)                                                                                                                                  )
$ git branch -d  other_branch
error: Cannot delete branch 'other_branch' checked out at 'D:/design-pattern-exe                                                                                                                                  rcise-with-java'

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (other_branch)                                                                                                                                  )
$ git checkout other_branch
Already on 'other_branch'

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (other_branch)                                                                                                                                  )
$ git branch -d  other_branch
error: Cannot delete branch 'other_branch' checked out at 'D:/design-pattern-exe                                                                                                                                  rcise-with-java'
  

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (other_branch)
$ git branch -d  other_branch
error: Cannot delete branch 'other_branch' checked out at 'D:/design-pattern-exercise-with-java'

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (other_branch)
$ git checkout master
Switched to branch 'master'

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (master)
$ git branch -d  other_branch
Deleted branch other_branch (was c3ee210).

domin@azdebugit MINGW64 /d/design-pattern-exercise-with-java (master)
$

常见git问题的解决方案汇总,包括git更换新的远程地址,管理本地及远程分支,git的tag管理_第4张图片

提示删除了一个名为other_branch的本地分支

5、删除远程分支,及指定文件:

 git push origin --delete [branchname--file]


提示删除了一个名为 201804019-test-files 的分支,
注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支
如果发生以下错误:
error: unable to delete ‘origin/xxxxxxxx-fixbug’: remote ref does not exist
error: failed to push some refs to ‘[email protected]:xxxxxxxx/xxxxxxxxxx.git’
解决办法:

//切换到当前分支上
git checkout xxxxx-fixbug
//然后再 进行 
git push --delete origin origin/xxxxx-fixbug

此时将不会再发生错误 。

6、根据指定版本号创建分支:

git checkout -b branchName commitId

7、清理本地无效分支(远程已删除本地没删除的分支):

git fetch -p

8、如果分支太多,还可以用此命令进行分支模糊查找:

git branch | grep 'branchName'

git删除远程tag标签时遇到的问题

由于每次上线,都会打一个标签,因此标签库存在多个标签。

想要删除全部的无效标签,结果执行完毕删除远程标签和删除本地标签后,发现其他同事再次推送的时候删除的那些标签又莫名其妙的回来了

原因:
因为其他同事的本地标签没有清理,这时候就必须要其他同事全部都要清理本地的标签。 (很显然这行不通,很难)

解决办法:

# 使用命令一条一条的删除远程仓库.
git tag -l | xargs -n 1 git push --delete origin
# 然后再用命令清理本地仓库
git tag -l | xargs git tag -d

git 分支无法checkout的解决办法

问题:手动添加了一个新的分支,然后push到了远程仓库,clone了一个新的,checkout时无法得到新添加的分支

原因:添加的新分支,在本地仓库没有同步

解决办法:

$ git remote update 
$ git fetch

然后就可以了

$git checkout -b local-name origin/remote-name

常用git tag 命令

#列出所有的标签
$>git tag --list   
#创建一个标签
$>git tag  
#创建一个带有注释的标签
$>git tag -a  -m ‘your_tag_description’ 
#查看标签信息
$>git show  
#查看所有的远程标签及commit ID
$>git ls-remote --tags origin 
#删除一个标签
$>git tag -d  
#删除远程仓库的标签
$>git push --delete origin  
#推送一个标签到远程
$>git push origin  
#推送多个本地标签到远程
$>git push origin --tags 

 

你可能感兴趣的:(解决方案,git,研读,Git更换远程地址,git创建远程或本地分支,git删除远程或本地分支,git删除远程tag标签,git分支无法checkout)