如何在github上新建一个远程仓库并实现window系统下本地仓库与远程仓库同步

登陆github网站,点击如下图所示项:

点击NEW,创建一个新仓库。

给新仓库命名并写介绍(description),选择public(private需要收费),点击create repository。

这样就新建了一个名为111的远程仓库。

注意:如果想删除远程仓库,点击setting,在最后点击Delete this repository即可删除这个远程仓库。

接下来我们将一个文件夹作为本地仓库,并将需要同步到远程仓库的所有文件都放在这个文件夹下。首先我们要安装好GIT软件。然后继续下面的操作。

如上图,我们已经建立了一个本地仓库文件夹,且文件夹内已放置了要同步到远程仓库的文件“示例文件”。右键选择Git bash here。我们即打开了一个位置在当前文件夹内的git bash窗口。

第一次同步时,要使用命令:git init 初始化git本地仓库。(以后就不必每次初始化)

初始化成功后,文件夹内会出现.git隐藏文件。

Git有三个状态,modified(已修改),staged(已暂存),committed(已提交)。已修改表示修改了文件,但还没保存到本地仓库中。已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照(snapshot)中。已提交表示数据已经安全地保存在了本地仓存中。

以后每次要同步本地仓库的文件到远程仓库时,要先将文件加入到暂存区。

即使用命令:git add .或git add -A

git add . : 添加已修改的(新增或修改)内容至暂存区(不含删除的文件)

git add -A:添加本地所有修改的内容至暂存区(包含删除的文件,如果本地删除了文件,并想把这个修改也同步到远程仓库就要用这个命令)。

随后将本次的修改递交(commit)到本地仓库中。

命令:git commit -m  ”本次提交内容的备注,类似一个标签“ 

下面我们要将本地仓库和远程仓库关联起来(只需要第一次时做),命令为:

git remote add origin https://github.com/zgcr/111.git(注意这个地址是示例,要使用你自己的远程仓库的github上的https地址)

接下来将本地库的所有内容推送到远程库,由于是第一次推送,远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

命令:git push -u origin master(第一次推送时加-u,以后不必加-u)

输入你的github远程仓库所在的github的账号名和密码。

此时开始将本地仓库的内容同步到远程仓库上。

这时我们查看对应的远程仓库,可以看到文件已上传到远程仓库。

以后我们想要再推送本地仓库的内容到远程仓库,只需要在本地仓库文件夹,右键选择Git bash here。

然后使用命令:git add .或git add -A添加已修改的内容到暂存区;

再使用命令:git commit -m  ”本次提交内容的备注,类似一个标签“ 将内容提交到本地仓库。

最后使用命令:git push origin master将内容推送到远程仓库上。

可以看到对应远程仓库已发生变化。

如果出现Your branch is ahead of 'origin/master' by X commit.

使用命令:git reset --hard origin/master
之后可使用命令:git status查看master分支之前多次进行的commit是否已经全部清除。

如果使用git push origin master后出现
error: failed to push some refs to '[email protected]:qzmly100/repository-.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这种情况是远程分支上存在本地分支中不存在的提交,可以先抓取并合并远程仓库全部内容(git pull origin master),再推送本地仓库数据(git push origin master)。

如果你确定远程分支上那些提交都不需要了,那么直接git push origin master -f,强行让本地分支覆盖远程分支。

猜你喜欢

转载自blog.csdn.net/zgcr654321/article/details/81629395