Git 教程 - 把本地仓库推送至远程仓库
以码云为例,介绍如何将本地仓库上传至远程仓库。共有 6 个步骤。
主要代码如下:
1 | |
以下为详细内容:
初始化本地仓库,命令行目录切换至本地仓库目录后运行 git init, 或在后面添加本地仓库目录。
git add [参数]< 路径 > 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉 git 系统,我们要提交哪些文件,之后就可以使用 git commit 命令进行提交了。
git add .
“.” 表示当前目录,可以修改。监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改 (modified) 以及新文件 (new),但不包括被删除的文件。
git add -u .(git add –update .)
监控已经被 add 的文件(即 tracked file),会将被修改的文件提交到暂存区。但不会提交新文件(untracked file)。
git add -A .(git add –all .)
是上面两个功能的合集。
总结:
git add -A 提交所有变化
git add -u 提交被修改 (modified) 和被删除 (deleted) 文件,不包括新文件 (new)
git add . 提交新文件 (new) 和被修改 (modified) 文件,不包括被删除 (deleted) 文件
Git commit
git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用 git commit 命令我们都会在本地版本库生成一个 40 位的哈希值,这个哈希值也叫 commit-id,commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与 git reset 的组合命令回到这里。
git commit -m ‘message’
“-m ” 参数表示可以直接输入后面的 “message”,如果不加 - m 参数,那么是不能直接输入 message 的,而是会调用一个编辑器一般是 vim 来让你输入这个 message,message 即是我们用来简要说明这次提交的语句。
git commit -am ‘message’ -am 等同于 - a -m
“-a” 参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过 git dd 添加到暂存区。
注意:新加的文件(即没有被 git 系统管理的文件)是不能被提交到本地仓库的。
添加远程库,即建立本地仓库与远程仓库关联。
在本地仓库生成 “README.md” 和 “README.en.md” 两个文件。
git push 的一般形式为 git push < 远程主机名 > < 本地分支名 > < 远程分支名 > ,例如 git push origin master:refs/for/master ,即是将本地的 master 分支推送到远程主机 origin 上的对应 master 分支, origin 是远程主机名,第一个 master 是本地分支名,第二个 master 是远程分支名。
git push origin master
如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin:refs/for/master
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master。
git push origin
如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到 origin 主机的对应分支。
git push
如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用 git branch -r ,查看远程的分支名。
git push -u origin master
如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用 git push。
git push –all origin
当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要 -all 选项。
git push –force origin
git push 的时候需要本地先 gitpull 更新到跟服务器版本一致,如果本地版本库比远程服务器上的低,那么一般会提示你 git pull 更新,如果一定要提交,那么可以使用这个命令。
git push origin –tags
git push 的时候不会推送标签,如果一定要推送标签的话那么可以使用这个命令。

