git远程仓库下载以及上传

本文介绍了如何使用Git进行远程仓库的基本操作,包括创建、克隆、推送代码等关键步骤,并探讨了团队协作中的权限设置及冲突解决方法。

一、远程仓库

 

通常我们并不常亲自建立远程仓库,而是委托给『第三方』。

常见的操作是,先在第三方上创建『远程 Git 文档库』,然后复制(Clone)出一个『本地 Git 文档库』

1、在托管网站上创建远程仓库

常见的代码托管仓库有:

  • 国外:github、gitlib

  • 国内:gitee、Coding

在托管网站上创建项目后,通常项目目录下是空的,可以通过以下 2 种途径初始化该项目:

创建远程仓库

远程仓库创建成功后需要配置自己生成的密钥【了解】

生成密钥
ssh-keygen -t rsa -b 4096 -C "备注"  ///一路回车

cat ~/.ssh/id_rsa.pub //查看密钥然后复制到gitee上,如下

管理员启动cmd,如果显示没有这个命令的话就用git窗口执行

生成密钥

 生成成功后查看密钥,红色框内的为密钥

然后复制粘贴密钥到 

然后生成密钥

2、克隆(拉取)远程仓库至本地

git clone <远程文档库的路径> <本地文档库的文件夹名称> 

更具体的的格式为:

git clone <http://Web服务器地址/远程文档库路径> <本地文档库名称> 

例如:

git clone https://github.com/<用户名>/<项目名>.git

如果你在托管网站上添加了你本机的 ssh-key,那么还可以使用如下格式:

git clone <Git账号>@<SSH服务器地址>:<远程文档库路径> <本地文档库路径>

3、推送本地仓库内容到远程仓库

当我们完成对本地文档库的修改,可以将这些修改『推送』到远程 Git 仓库:

如果是第一次推送一个工程到远程仓库

git remote add origin 远程仓库地址
如:
git remote add orign https://gitee.com/xiaokongming/three.git

然后:

git pull --rebase origin master //同步远程的数据

git push origin [分支名称]
如:
git push origin master

如果出现not found 就要先同步远程数据之后再提交

git push 有两种模式:

  • 推送本地『所有』分支,

  • 推送『当前』分支。

  • 如多使用第一种模式,配置:

git config --global push.default matching    #第一种配置  
git config --global push.default simple      #第二种配置  Git2.0  默认

第二种模式更安全,推荐使用第二种。

无论哪种传送模式,只要执行 git push --all 都是推送所有分支

实验操作:

如:在本地添加一个文件,

 git add  "add.txt"   #提交到本地暂存区
git  commit -m "v6"
git push origin master 

4、添加仓库开发者

由于gitee上的仓库为私有的,只有自己才能对远程仓库进行操作,如果团队中的其他成员需要对该远程仓库进行操作,必须将团队成员的gitee帐号添加到仓库中。

提示:一个远程仓库最多只能添加5个成员

配置好后团队的其他成员就可以使用到该仓库

5、设置分支保护

6、推送冲突

如果远程分支并非你一个人独有,那么很有可能由于别人的提交,导致远程分支向前演进,从而导致 push 失败。此时需要『三步合并法』解决冲突问题。

  1. 从远程 Git 文档库取回当前所在分支的最新数据。

  2. 把远程 Git 文档库的分支合并到本地 Git 的分支。这一步可能会出现冲突。解决冲突,合并代码。

  3. add-commit-push 三联,提交并推送本地数据至远程 Git 文档库。

git pull 命令可以完成前两部操作。它等价于:先执行 git fetch,再执行 git rebase origin/master

7、fetch 和 pull

如果你有一个远程 Git 分支,比如在 GitHub 上的分支,当远程分支上包含当前分支没有的提交时,可以使用取回。

比如,当合并了另一个分支或你的同事推送了一个快速修复时。

通过在这个远程分支上执行 git fetch ,我们就可在本地获取这些修改。这不会以任何方式影响你的本地分支:fetch 只是单纯地下载新的数据而已 。现在我们可以看到自上次推送以来的所有修改了。这些新数据也已经在本地了,我们可以决定用这些新数据做什么了。

尽管 git fetch 可用于获取某个分支的远程信息,但我们也可以执行 git pullgit pull 实际上是两个命令合成了一个:git fetch + git merge 。当我们从来源拉取修改时,我们首先是像 git fetch 那样取回所有数据,然后最新的修改会自动合并到本地分支中。我们现在与远程分支完美同步了,并且也有了所有最新的修改

### 如何将本地文件推送到Git远程仓库 #### 初始化并配置本地仓库 当在一个新目录中工作时,需先初始化 Git 仓库: ```bash echo "# test" >> README.md git init ``` 上述命令会在当前目录创建一个新的 `.git` 文件夹来跟踪版本控制信息[^2]。 #### 添加文件到暂存区 为了让 Git 跟踪更改过的文件,需要把它们加入到暂存区: ```bash git add README.md ``` 这条指令告诉 Git 记录对指定文件所做的修改,准备提交这些改动。 #### 提交变更至本地库 完成编辑后,通过 `commit` 命令保存更改记录,并附带描述性的消息以便日后查阅: ```bash git commit -m "first commit" ``` 这一步骤正式确认了自上次提交以来的所有变化,并给定了一条简短的信息说明此次更新的目的或内容。 #### 关联远程仓库地址 首次推送前要设置好目标服务器上的位置。通常情况下会使用 HTTPS 或 SSH URL 来指向 GitHub 上托管的项目: ```bash git remote add origin git@github.com:username/repository.git ``` 这里定义了一个名为 `origin` 的远端连接点,它对应着实际存储代码的地方——即GitHub中的个人账户下的特定repo路径[^4]。 #### 执行初次推送操作 最后一步就是执行真正的上传动作,利用 `-u` 参数可以简化未来同分支间的同步过程: ```bash git push -u origin master ``` 此命令不仅发送最新的提交历史给远程主机,还建立了本地与远程分支之间的联系,使得之后仅需输入简单的 `git push` 即可实现相同效果[^1]。 #### 更新现有远程链接 如果有需要更换已有的远程源,则应遵循如下流程先行删除旧址再重新设定新的URL: ```bash git remote remove origin git remote add origin new-url-here ``` 这样做的好处是可以轻松切换不同的部署环境而无需担心混淆不同项目的配置项。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值