github推送本地仓储到远程

转自:https://zhuanlan.zhihu.com/p/136355306

1.流程

如果是从github上下载的别人的仓储,想推到自己的下面,那肯定是已经关联了远程仓储了,查看关联:

git remote -vv   #查看已关联的远程仓储
git remote rm origin  #删除已关联的远程仓储
# 如果还没有对应的github上的仓储,需要先手动创建一个,然后获取其.git地址 git remote add origin git@github.com:yourname
/cmake-demo.git #关联刚创建的远程仓储,私密仓储也可以推

提前要把根据GitHub邮箱生成的ssh公钥存到GitHub上。拉和推代码:

git push origin master/main  #推到远程
git pull origin master/main #拉远端

生成密码的ssh命令如下: 

ssh-keygen -t rsa -C "email"  # email为你在github上注册的邮箱(只是一个标记参数而已)

 

2. .gitignore文件

转自:https://www.freecodecamp.org/chinese/news/gitignore-file-how-to-ignore-files-and-folders-in-git/

通常,一个 .gitignore 文件会被放在仓库的根目录下。 

/text.txt    #忽略位于根目录下的 text.txt 文件
/test/text.txt   #忽略一个位于根目录下的 test 目录中的 text.txt 文件
test/text.txt    #同上
text.txt    #忽略任何 text.txt 文件,不需要提供特定文件的完整路径。这种模式将忽略位于项目中任何地方的具有该特定名称的所有文件。
test/     #忽略整个目录及其所有内容,你需要包括目录的名称,并在最后加上斜线。这个命令将忽略位于你的项目中任何地方的名为 test 的目录(包括目录中的其他文件和其他子目录)。
test     #匹配任何名字带有 test 的文件和目录
img*    #忽略所有名字以 img 开头的文件和目录。
*.md   #忽略位于项目中任何地方的以 .md 文件扩展名结尾的 markdown 文件

# 忽略所有 .md 文件
.md
# 不忽略 README.md 文件
!README.md


# 忽略所有名字带有 test 的目录
test/
# 试图在一个被忽略的目录内排除一个文件是行不通的
!test/example.md

 

3.回退已合并到master的版本

先本地 git reset --soft HEAD~1,这样上次提交的代码还在暂存区,不会丢。可以先stash起来。

然后git push -f (要强制push)。之后可以将stash的代码pop了,然后再commit提交到远程。

 

posted @ 2024-02-03 16:58  lypbendlf  阅读(25)  评论(0编辑  收藏  举报