git将远程仓库代码拉下覆盖本地仓库
记录,在最近代码学习过程中,自己手动改了一下代码,但是忘记修改了哪些,现在想恢复到和远程仓库代码一致。
使用如下三条命令搞定:
1.git fetch --all //获取远程仓库所有代码到本地
2.git reset --hard origin/master //强制将本地代码和远程仓库同步
3.git pull
今天遇到的小问题:
1、提交代码的时候,忘了把在本地测试时的东西删掉了,很尴尬的是已经给别人发了评审,还被看见了,然后我就把commit给废弃了
2、由1引发出的问题,就是如果commit交错了,不一定要直接废弃,再add你想更改的文件,然后commit一下,随后push,此时的评审会收到你最新的更改。
git 远程仓库
记录一下如何连接本地和远程的git仓库
可以直接git clone “远程仓库url”,或者是使用git remote add (你自定义的远程仓库名) (远程仓库地址)
可以在push的时候,使用-u来连接本地分支和远程分支,建立起关联
git push -u origin master 其中的-u是什么作用
在Git中,git push -u origin master
命令中的-u
选项的作用是将本地分支与远程分支关联起来,并且将远程分支设置为默认的上游分支。
具体来说,-u
选项的使用会将本地分支(这里是master
分支)推送到远程仓库(这里是origin
)的相应分支,并将本地分支与远程分支进行关联。这样一来,在将来的git push
命令中,如果不指定远程仓库和分支,Git会默认使用该本地分支的关联远程分支作为目标。这对于简化推送操作并提供更方便的默认设置非常有用。
一旦使用了-u
选项关联了本地分支和远程分支,之后就可以简化推送操作,例如,只需执行git push
,而不需要每次都指定远程仓库和分支。
总之,-u
选项的作用是方便地建立本地分支与远程分支之间的关联,并设置默认的上游分支,以简化将来的推送操作。
使分支建立起关联有什么好处?
建立分支之间的关联(或称为上游分支关联)有几个好处:
默认推送和拉取目标: 当你建立了关联后,Git 会记住本地分支与哪个远程分支有关联。这样,在没有明确指定远程仓库和分支的情况下,你可以使用
git push
和git pull
命令,Git 将默认使用上游分支,简化了推送和拉取操作。方便的分支切换: 当你切换到一个本地分支时,Git 会自动将其上游分支设置为默认的远程分支。这样,你在本地工作时,可以更轻松地切换和推送分支,而无需每次都手动指定远程仓库和分支。
更容易进行协同开发: 在团队协作的情境下,建立分支之间的关联可以帮助团队成员更容易协同开发。他们可以使用默认的推送和拉取设置,减少操作失误和混淆。
追踪远程仓库的更新: 通过建立关联,你可以更容易地使用
git fetch
或git pull
从远程仓库获取更新,并将这些更新合并到本地分支。
总的来说,建立分支之间的关联提供了便利性和操作简化,使得 Git 的使用更加流畅,特别是在协同开发和多分支管理的情境下。
git remote的常用命令
git remote
是用来管理远程仓库的命令。以下是一些常用的 git remote
命令:
git remote
: 显示所有远程仓库的简写名。
git remote
git remote -v
: 显示所有远程仓库的详细信息,包括 URL。
git remote -v
git remote add <远程仓库名> <远程仓库URL>
: 添加一个新的远程仓库。
git remote add origin https://example.com/repo.git
git remote remove <远程仓库名>
或git remote rm <远程仓库名>
: 移除指定的远程仓库。
git remote remove origin
git remote rename <旧名> <新名>
: 重命名远程仓库。
git remote rename origin new-origin
git remote show <远程仓库名>
: 显示指定远程仓库的详细信息,包括分支情况。
git remote show origin
git remote prune <远程仓库名>
: 移除本地没有对应的远程分支的远程分支引用。
git remote prune origin
git remote update
: 获取远程仓库的更新。
git remote update
小结
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git
;
关联一个远程库时必须给远程库指定一个名字,origin
是默认习惯命名;
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!