github覆盖远程分支内容_Github快速上手笔记
小白,学习笔记
- 注册Github账号, Github官网地址:https://github.com/
- 本地Git安装 官网下载地址 : Git
Github远端网页上创建仓库(repository),创建之后会显示一个HTTPS/SSH地址
本地选择一个要工作的文件夹,选择这个文件夹右键(或进入这个文件夹空白处右键),点击Git Bash Here 进入本地Git窗口
- 用
git config
配置 Git,要做的第一件事就是设置名字和邮箱地址:
(第一次使用时配置,后续不必配置) 这是用来设置你提交的时候用的信息
$ git config --global user.name 'John Doe'
$ git config --global user.email 'johndoe@example.com'
- (非必要操作)可以选择查看本地进行的配置:
$ git config --list
- 初始化项目,创建新的git仓库:
$ git init
在这个要工作的文件夹项目下,我们进行想要做的任何文件操作
- 让这些文件生效,把计划改动添加到缓存区(Index):
$ git add *
- (非必要操作)可以选择查看状态,本地发生哪些变化:
$ git status
- 提交到HEAD,指向最后一次提交后放入结果:
'first_commit'为注释,自己想要注释的代码提交信息
$ git commit -m 'first_commit'
- 将本地这个项目与远端Github进行关联
这一步是本地和远程服务器建立联系的一步,后面链接为创建github远端仓库之后显示的一个HTTPS
$ git remote add origin https://github.com/xxx/xxx.git
- (最好操作一下)注意在每次提交之前要首先进行pull,这是防止冲突
如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机,这是正常合理的代码提交流程。
$ git pull origin master
如果失败,在进行git pull 时,添加一个可选项,告诉 git 允许不相关历史合并
$ git pull origin master --allow-unrelated-histories
or
$ git pull --rebase origin master
上面这行命令做了以下内容:
a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的)
b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突
c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并
所以 rebase 在拉代码前要确保你本地工作区是干净的,如果你本地修改的内容没完全 commit 或者 stash,就会 rebase 失败。
(还有一种方法 强推 本地强制上传到远程,把远程的覆盖,不推荐:
$ git push -f origin master
Git Push -f 尽量不要使用,上面命令使用,它是将本地历史覆盖到远端仓库的行为,同事之前推送的代码会被你抹掉,他可能刚刚提交了一整个功能模块的代码。如果大家都不小心更新你的版本,OMG,前功尽弃。 除非你很确定要这样做,否则应该尽量避免使用--force
选项。)
- 最后推送到Github远端:
$ git push -u origin master
执行完成后,github上的repository就有和你本地一样的代码文件了。
($ git push origin master 命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建)
($ git push -u origin master 命令表示,将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了)
出现:
$ git push -u origin master
fatal: HttpRequestException encountered.
An error occurred while sending the request.
Username for 'https://github.com':
再输入Github账号 弹出一个框再密码就ok
进入vim界面,如何退出?
按下Esc (退出编辑状态),接着连按两次大写字母Z,就可以了