前言:继上篇文章《git常规操作》后,对git使用过程中经常出现问题的梳理。
目录
1. git本地查看历史版本并切换
2. 本地与remote建立连接
3. 连接取消
4. git push进阶
1. git本地查看历史版本并切换
git切换到历史版本时需要根据历史版本号来切换,这一点和SVN相比没有那么方便,SVN中直接有UI查看历史版本并查看对应修改的地方。
在git中首先使用git log查看历史版本,如下:
其中:commit后面的黄色序列即为版本号,很长。需要切换到对应的版本时,需要复制该序列,然后使用命令:
git checkout 版本序列号
即可切换到对应的版本。
2. 本地与remote建立连接
1. 本地创建文件夹;
2. 进入文件夹,在文件夹中打开bash终端,并输入git init创建仓库;
3. remote的web端建立仓库,并提前创建好空分支;
4. 在本地的bash终端输入如下命令与remote分支建立连接,repository url为remote仓库地址,复制此地址即可。
git remote add origin [repository url]
5. 使用命令查看所有的远程主机
git remote
6.获取所有远程主机的分支,并与本地仓库建立同步并trace,这一步非常重要。如果缺少这一步,后续在切换分支时本地的内容不会与remote同步,有了这一步,后面切换分支就会自动update remote 代码。
git remote update origin --prune
7. 查看所有的远程分支
git branch -r
8. 切换到你在web端创建仓库时所设置的分支;
git checkout [分支]
9. 此时如果本地可以看到readme.md文件,则说明已成功建立连接。
10. 此时当你重新打开一个bash终端时,发现可以看到前面显示的分支号了,但是使用git branch时还看不见其他的分支,只显示了当前的分支,使用git branch -r查看remote端的分支名,在本地git checkout [分支名]即可切换到对应的分支,当切换过后,该分支使用git branch命令就能查看到了。
11. 删除分支
git branch -d [分支名]
注:该命令只能删除未打开的分支。
3. 连接取消(慎用)
如要取消本地与远程仓库的连接,命令如下:
git remote remove origin
但该命令一般不建议在操作中使用,当使用该命令后,本地再与新的remote仓库建立连接时,常常出现各种问题,如在git pull时,报错refusing to merge unrelated histories,或者出现merge conflict。因此博主建议重新git clone,不要取消连接。
4. git push进阶
git push
命令用于将本地分支的更新,推送到远程主机。
-
git push origin
上面命令表示,将当前分支推送到origin主机的对应分支,如果当前分支只有一个追踪分支,那么主机名都可以省略
-
git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push
-
git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
-
git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
完整命令:文章来源:https://uudwc.com/A/JwvkW
git push <远程主机名> <本地分支名>:<远程分支名>
注意:这里的:前后是必须没有空格的。文章来源地址https://uudwc.com/A/JwvkW