创建一个项目目录
mkdir work
cd work
初始化git配置
git init
git config user.name "Ricky" 设置当前项目git用户名
git config user.email Rikcy@xxx.com 设置当前项目git电子邮件
添加远程仓库
此时我们已经初始化了一个git本地仓库,那么如何把本地仓库的内容提交到服务器上呢?我们以github为例,远程仓库只能通过在github网页上手动创建。我首先登录github创建的一个仓库test用来做示例,然后可以在本地添加这个远程仓库:
git remote add origin https://github.com/rikeyone/test.git
这一条命令的作用其实就是把 https://github.com/rikeyone/test.git
赋值给 origin
。此时github上仅仅是创建了一个空的仓库,其中并不包含任何的分支和内容。
查看仓库
可以利用如下命令查看远程仓库中的分支列表:
git remote show origin
如果想要查看远程仓库的链接详情,可以这样:
git remote -v
打印如下所示:
origin https://github.com/rikeyone/test.git (fetch)
origin https://github.com/rikeyone/test.git (push)
添加文件到当前的本地分支并提交
我们添加一个README文件来作为第一个提交:
git add README
git commit -m "first commit"
完成提交后,会在本地仓库中生成一个master分支,其中存在我们的第一个commit。
在远程仓库中创建分支new_branch
现在的情况是,本地仓库中存在一个master分支,远程服务器(github)仓库中依然只有一个空仓库test。那么我们需要把本地分支push到远程仓库中:
git push origin master:new_branch(master为本地分支名字,new_branch为远程仓库中的名字)
这条命令会把本地master
分支推到origin
仓库中,并且命名为 new_branch
。 像前面提到的一样 origin
就是远程仓库test的一个索引。
除了上面的方法,还可以这样:
git push -u origin master (master为本地分支名字,只能推送到远程仓库的同名分支上)
push 命令加上 -u
选项会设置跟踪分支,设置本地的 master
和远程仓库中的 master
是一对跟踪分支。这样后续使用 git pull
命令时会自动同步远程仓库的master
分支到本地分支中。
其实你可以在指定完-u之后,去到根目录的 .git/ 目录下,找到config,可以看到下面有了branch "test"的分支的记录:
[branch "master"]
remote = origin
merge = refs/heads/master
添加/修改远程仓库
有时候我们在一个目录中可能会同时需要操作两个仓库,那么怎么处理这种场景的,实际上git并没有限制在一个工作目录中可操作的仓库数量,我们只需要把远程仓库添加进来即可进行操作,比如删除 origin
索引,替换为另一个仓库为 origin
:
git remote rm origin
git remote add origin git@github.com/rikeyone/new_test.git
或者直接把第二个仓库改成另一个名字就不用先删除了:
git remote add new_origin git@github.com:rikeyone/new_test.git
不过后面需要做针对该仓库操作时需要引用的是 new_origin
。
欢迎扫码关注我的公众号!