Git 初次使用(4)

远程仓库的使用

查看远程仓库

如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。 如果你已经克隆了自己的仓库,那么至少应该能看到 origin - 这是 Git 给你克隆的仓库服务器的默认名字:

$ git clone https://github.com/schacon/ticgit
Cloning into 'ticgit'...
remote: Reusing existing pack: 1857, done.
remote: Total 1857 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (1857/1857), 374.35 KiB | 268.00 KiB/s, done.
Resolving deltas: 100% (772/772), done.
Checking connectivity... done.
$ cd ticgit
$ git remote
origin

你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

$ git remote -v
origin	https://github.com/schacon/ticgit (fetch)
origin	https://github.com/schacon/ticgit (push)

添加远程仓库

我在之前的章节中已经提到并展示了如何添加远程仓库的示例,不过这里将告诉你如何明确地做到这一点。 运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写:

$ git remote
origin
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
origin	https://github.com/schacon/ticgit (fetch)
origin	https://github.com/schacon/ticgit (push)
pb	https://github.com/paulboone/ticgit (fetch)
pb	https://github.com/paulboone/ticgit (push)

现在你可以在命令行中使用字符串 pb 来代替整个 URL。 例如,如果你想拉取 Paul 的仓库中有但你没有的信息,可以运行 git fetch pb

$ git fetch pb
remote: Counting objects: 43, done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 43 (delta 10), reused 31 (delta 5)
Unpacking objects: 100% (43/43), done.
From https://github.com/paulboone/ticgit
 * [new branch]      master     -> pb/master
 * [new branch]      ticgit     -> pb/ticgit

现在 Paul 的 master 分支可以在本地通过 pb/master 访问到 - 你可以将它合并到自己的某个分支中,或者如果你想要查看它的话,可以检出一个指向该点的本地分支。 

从远程仓库中抓取与拉取

就如刚才所见,从远程仓库中获得数据,可以执行:

$ git fetch [remote-name]

这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 必须注意 git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

如果你有一个分支设置为跟踪一个远程分支,可以使用 git pull 命令来自动的抓取然后合并远程分支到当前分支。 这对你来说可能是一个更简单或更舒服的工作流程;默认情况下,git clone 命令会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支(或不管是什么名字的默认分支)。 运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。

推送到远程仓库

当你想分享你的项目时,必须将其推送到上游。 这个命令很简单:git push [remote-name] [branch-name] 当你想要将 master 分支推送到 origin 服务器时(再次说明,克隆时通常会自动帮你设置好那两个名字),那么运行这个命令就可以将你所做的备份到服务器:

$ git push origin master

只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。


### Git 初次提交代码的详细流程 在初次使用 Git 提交代码时,需要完成以下操作以确保代码能够正确提交到远程仓库。 #### 1. 配置用户信息 为了标识提交者的身份,需要配置全局用户名和邮箱地址。这一步非常重要,因为每次提交都会附带这些信息[^3]。 ```bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com" ``` #### 2. 初始化本地仓库 如果当前目录尚未初始化为 Git 仓库,则需要执行以下命令来初始化仓库[^1]。 ```bash git init ``` #### 3. 添加文件到暂存区 将需要提交的文件添加到暂存区。可以通过 `git add .` 命令将所有文件添加到暂存区,或者通过 `git add 文件名` 添加特定文件[^1]。 ```bash git add . ``` #### 4. 提交文件到本地仓库 将暂存区的文件提交到本地仓库,并附带一条提交信息[^1]。 ```bash git commit -m "first commit" ``` #### 5. 关联远程仓库 将本地仓库与远程仓库关联。这里需要替换 `git地址` 为实际的远程仓库地址[^1]。 ```bash git remote add origin git地址 ``` #### 6. 推送代码到远程仓库 将本地仓库的代码推送到远程仓库。由于是首次推送,可能需要强制推送以创建分支[^2]。 ```bash git push -u origin master ``` 如果远程仓库使用的是 `main` 分支而不是 `master`,则需要将 `master` 替换为 `main`。 --- ### 注意事项 - 如果远程仓库已经存在代码,则在推送之前可能需要先拉取代码以避免冲突[^2]。 ```bash git pull origin master ``` - 在推送代码时,可能会被要求输入用户名和密码,或者使用 SSH 密钥进行身份验证。 --- ### 示例完整流程 以下是一个完整的示例流程: ```bash # 配置用户信息 git config --global user.name "Your Name" git config --global user.email "your.email@example.com" # 初始化仓库 git init # 添加文件到暂存区 git add . # 提交文件到本地仓库 git commit -m "first commit" # 关联远程仓库 git remote add origin git地址 # 推送代码到远程仓库 git push -u origin master ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值