Hugo博客公告弹窗

vscode:git常用命令

   
文章摘要
摘要小助理今天溜号啦……😜

Pasted image 20240301115624

常见命令

git init
git add .
git commit -m "初始化"
git branch -M main
git remote add origin https://github.com/githubusername/demo.git
git pull origin main
git push -u origin main #首次推送加-u参数

创建和切换分支

1、创建新分支

git branch 新分支名称

2、切换分支

git checkout 分支名称

 3、创建分支的同时,切换到该分支上

git checkout -b 新分支名称

合并分支

假如把dev分支合并到main

首先切换到main分支上

git checkout main

如果是多人开发的话,需要把远程main分支上的代码pull下来

git pull origin main

然后把dev分支的代码合并到main上

git merge dev

警告提示: Please enter a commit message to explain why this merge is necessary

遇到警告 直接按键盘左上角"Esc" 然后输入:wq 按回车键,或者按 ctrl+x 再输入y回车即可

最后一步,Push推送到远程仓库

git push origin main

删除本地分支

列出所有的本地分支

git branch

在删除一个本地分支之前,请确保切换到另一个你不想删除的分支

切换分支

git checkout 分支名

删除本地分支:

git branch -D 分支名

大写字母D(这是-- delete --force 的别名),强制删除本地分支,而不考虑其合并状态

删除远程分支

获取所有远程分支的列表:

git branch -r

找到您想要删除的远程分支,然后运行以下命令以删除它:

git push origin -d 分支名

pull代码到本地分支

git pull --rebase origin 分支名

push分支到远程仓库

git push origin 分支名

假设本地创建了一个名为dev的分支,远程仓库还没有这个分支,推送的命令是: 

git push --set-upstream origin dev

删除暂存区

删除暂存区和版本库的文件,但保留了工作区的文件

例如:

git rm -r --cached D:/code/vosk-model-small-cn-0.22 

查看状态

git status

同步更新源仓库

a开发者fork了b开发者的项目后,如果b开发人员更新代码后,a开发者如何获得更新?

1.给fork配置远程库,先查看远程状态

git remote -v

2.同步上游仓库, upstream后的地址是你即将同步的上游仓库git地址

git remote add upstream https://github.com/xxx/xxxx.git

再次查看状态确认是否配置成功。

git remote -v

3.开始同步fork

git fetch upstream

4.切换到本地主分支

git checkout master

upstream/master 分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。

git merge upstream/master

如果想更新到 GitHub 的 fork 上,直接push就好了

git push origin master

储藏与清理

储藏会处理工作目录的脏的状态 - 即,修改的跟踪文件与暂存改动 - 然后将未完成的修改保存到一个栈上,而你可以在任何时候重新应用这些改动。

首先查看状态

git status 
git status -s

新的储藏推送到栈上

git stash

查看储藏的东西,可以使用 git stash list

git stash list
$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log

应用存储的更改: 最近的储藏

git stash apply

应用存储的更改: 索引号为 0的存储

git stash apply stash@{0}

移除储藏

列出存储:

git stash list

移除某个存储:例如

git stash drop stash@{0}

运行 git stash pop 来应用储藏然后立即从栈上扔掉它

git stash pop

git报错的解决方法

ssh key有问题 :

Please make sure you have the correct access rights and the repository exists

解决办法: 1、设置用户名和邮箱

git config --global user.name "yourname"
git config --global user.email "your@email.com"

2、删除.ssh文件夹下的known_hosts(手动删除即可,不需要git)

3、生成 SSH Key 一路回车即可

ssh-keygen -t rsa -C "your@email.com"

用户主目录 /.ssh 下有两个文件,id_rsa 是私钥,id_rsa.pub 是公钥, 记事本打开公钥 id_rsa.pub, 然后复制公钥内容

4、添加 SSH keys

添加地址: https://github.com/settings/ssh/new

新建一个 SSH keys,标题自己起,Key 的内容就是id_rsa.pub 公钥内容,然后添加。

5、在git中输入命令:

ssh -T git@github.com  

输入命令:yes

没有添加远程仓库

fatal: ‘origin’ does not appear to be a git repository

解决办法:

git remote add origin git@github.com:xxse/xx.git

如果remote时出现fatal: remote origin already exists.

解决方法是删除原有的origin

git remote -v 
git remote rm origin

[! [rejected] master -> master (fetch first)

github允许你本地仓库有的东西,远程仓库里没有,但不允许远程仓库有的东西,你本地仓库没有

所以在提交之前需要先拷贝远程仓库,命令如下

git pull --rebase origin master
CC BY-NC-SA 4.0 转载请注明
最后更新于 2024-12-03 08:00
clarity统计