git常用命令、查看和设置用户名密码、tag指令、更换仓库地址、推送到远程分支 您所在的位置:网站首页 怎么看git账号密码记录 git常用命令、查看和设置用户名密码、tag指令、更换仓库地址、推送到远程分支

git常用命令、查看和设置用户名密码、tag指令、更换仓库地址、推送到远程分支

2023-07-23 06:50| 来源: 网络整理| 查看: 265

初始化、提交代码到远程仓库

正常情况下,用户名、密码全局设置一次就可以,使用较少【略过】,如有需要自行百度

新建一个工程,想提交到远程仓库【远程仓库也没有】

如下步骤可实现提交到远程仓库

# 1.初始化 git init # 2.添加所有文件到本地仓库 git add . # 3.提交到本地仓库(备注自行修改) git commit -m "init" # 4.新建远程仓库 git remote add origin https://git仓库地址/分组名/仓库名.git # 示例: git remote add origin https://github.com/xx-group/first-project.git # 5. push到远程仓库 git push origin master

注意事项:执行4、5步时一定要注意网络通常,否则会出现失败、提交卡死到情况

如果出现git push卡死(writing objects、pushing...),按ctrl+c结束提交。找到网络通畅的地方。在idea的Terminal窗口,键入git gc并回车,重新执行第5步

上述全部完成后,已经有master分支了,

切换分支并创建远程分支(当然可以用idea操作,此处是复习git命令)

# 会创建新的test分支 git checkout -b test # 再提交到远程仓库到test(还没有test分支) git push origin test

上述命令在远程已经创建了test分支

# 更新代码 git fetch

可以看到已经出现了origin/test分支

若想新建dev分支,可采取相同的方法(上述新建test分支)

上述第4步执行报错,提示仓库不存在,则在github上新建仓库。

再执行

git pull --rebase origin master

最后执行

git push -u origin master

原因是本地仓库和远程仓库没有关联!!

使用git指令打tag

1.查看当前本地tag

// 查看本地所有tag git tag

2.新建一个tag(未推送到远程仓库)

// 指令: git tag -a tag名称 -m 'tag描述' // 示例: git tag -a v1.0.20200810152400 -m '1.0版本tag'

3.提交tag到远程仓库

git push origin --tags

4.删除tag

// 删除本地tag git tag -d v1.0.20200810152400 // 提交远程覆盖删除 git push origin --tags

git push origin --delete tag 'v1.0.20200810152400'

补充知识:

若提交时没有.gitignore文件,提交了一推没用的文件(.idea/*,target/*),那怎么删除远程仓库的昵?以下步骤可完成删除

// 1.删除idea文件及里面所有文件 git rm -rf .idea/   // 2.提交到本地仓库 git commit -m "delete file" // 3.push到远程仓库 git push origin master 从历史提交中检出新分支

方案一

步骤:

1.查询历史提交ID

2.基于历史提交检出新分支

3.分支检出后正常操作(修改、提交到远程等等)

实操:

1.查询历史提交id

方法一通过指令: git log

方法二通过idea:

2.检出分支,完成

git checkout -b 分支名 历史提交ID

示例:

git checkout -b v1.0 dcddaf590fe6a97b05d13014d8eca3b0d3a90611

历史提交ID输入前8位即可(已经复制就粘贴全部)

方案二

使用idea,默认已经打开了项目

点击下方Version Control -> Log

查看和设置用户名密码

说明:用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。

每次commit都会用用户名和邮箱记录。

github的contributions统计就是按邮箱来统计的。

2.修改密码(请自行验证)

git config --global credential.helper store (输入这个命令后,以后只要在输入一次用户名密码)

3.查看用户名和邮箱地址

git config user.name git config user.email

4.修改用户名和邮箱地址:

git config --global user.name "username" git config --global user.email "email" 常见错误及解决办法

5.git clone 拉取代码报错 repository 'http://xxxx.xx.xx.git' -- not found.

出现这种情况,本地已经保存了对应的账号密码,对于当前操作权限不匹配;解决方案:拉取代码时添加具有权限的账号密码:

格式如下:

错误信息:repository 'http://远程仓库的域名或者IP/xxx/xxx.git' not found 执行git指令:git clone http://username:password@远程仓库的域名或者IP/xxx/xxx.git

示例:

错误信息: repository 'http://gitlab-vpc.test.com/test-group/test.git' not found

对应gitlab账号密码分别为:root 和 123456

则执行git的指令为:git clone http://root:[email protected]/test-group/test.git

6.将拉下来的代码推到新仓库

6.1设置新的仓库url(注意:确保已经添加了公钥到新的机器上)

指令:git remote set-url origin 新gitlab地址 示例:git remote set-url origin http://gitlab-vpc.new-test.com/test-group/test.git

6.2将当前分支推到新仓库

特别提醒:建议使用新仓库没有的分支名(使用新仓库没有的分支名不会有以下错误)

指令:git push origin 分支名 示例: git push origin dev

如果推送报错“提示找不到refs...”,原因是本地和远程仓库不匹配,进行强制推送,指令改为

git push -f origin 分支名

示例:

git push -f origin dev

7.push到新仓库的代码合并代码时遇到合并失败报错:refusing to merge unrelated histories

背景: 拉取新push上去的分支(例如dev),然后merge旧分支(master)到新分支报错refusing to merge unrelated histories

解决办法:当前处于新分支(dev),执行拉取旧分支(master)分支代码时,加上参数 --allow-unrelated-histories

git pull origin 分支名 --allow-unrelated-histories 示例: git pull origin master --allow-unrelated-histories

有冲突解决掉,没有冲突表示已经拉取成功完成了

git pull 相当于git fetch和git merge的组成

最后再push即可

8.报错 The project you were looking for could not be found解决

(背景:mac重装系统后,登陆同一个ID,同步了钥匙串,之前保存了同样的git账号信息导致报错)

原因:重复保存账号密码导致报错

解决办法:删除之前保存的账号(有说在执行clone时带上账号信息,我觉得太麻烦。故采取删除之前保存的账号)

以mac本为例

8.1打开“钥匙串”找到如下git地址,本机有2个地址,直接删除(另外:如果IntelliJ开头的钥匙串也保存了git账号密码同样也删除 )

8.2删除的方法是“右键”->选择“删除xxxxxxxx"

用idea分别打开2个git的任意一个项目,在当前项目下执行任意指令(clone、fetch、pull、push、merge等)按照提示重新输入账号密码即可重新保存。

9.出现以下错误

----------------

 ! [rejected]        master -> master (fetch first) error: failed to push some refs to 'xxxxxxx'

There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details.

    git pull

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/ master -------------

解决:git branch --set-upstream-to origin/master master

意思是将本地master分支和远程master关联起来

类似的可以用git branch --set-upstream-to origin/dev dev

VickdeMacBook-Pro:vick$ git branch --set-upstream-to origin/master master Branch 'master' set up to track remote branch 'master' from 'origin'.

再次推送,如果仍失败参照上述第7步解决即可

10. Failed to connect to xxxxx:xxxx Operation timed out

异常背景:公司搭建的gitlab,由于种种原因IP地址变动了,不得已执行git remote set-url origin xxxxxx,然后提示Failed to connect to xxx:xxx Operation timed out

解决方法:执行git remote -v,将结果在浏览器中打开,如果打开异常,则检查路径是否错误

如果打开正常,则可能是idea做了代理或缓存,关闭idea重新打开,再次操作即可



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有