一个学习Git的好网站:Learn Git Branching
连接远程仓库
用Git Bash远程连接GitHub上别人的仓库,通常应该选择使用 ssh 协议进行连接。
ssh协议好处:
- 安全性更高:使用公钥加密和私钥解密的方式进行通信。
- 方便性更高:可以避免每次操作时都需要输入密码
- 可扩展性好:ssh协议可以方便地在多个不同的Git服务器之间切换。
步骤:
- 生成SSH密钥:在 Git Bash 中使用
ssh-keygen命令生成 SSH 密钥,然后将 公钥 添加到GitHub账户的SSH密钥列表中。 - 配置Git:在 Git Bash 中,使用
git config命令配置Git 使用SSH协议进行通信。 - 克隆仓库:在 Git Bash 中,使用
git clone命令克隆GitHub上别人的仓库。
在进行以上步骤前,您需要先获取到 GitHub 仓库的 SSH URL 地址。在仓库页面的右上角有一个绿色的按钮,点击它可以打开一个弹出窗口,其中包含了该仓库的 SSH URL 地址。将该地址复制下来,然后在 Git Bash 中使用
git clone命令进行克隆即可。
- 在生成SSH密钥之前,不需要 将本地文件夹初始化为Git仓库。生成SSH密钥是为了在使用SSH协议连接到远程Git仓库时进行身份验证,而不需要每次输入密码,这个过程与初始化Git仓库是两个独立的步骤。
- 如果在生成SSH密钥之前已经将本地文件夹初始化为Git仓库,问题不大~,直接在该仓库的根目录下使用
ssh-keygen就可以了;如果还没有初始化仓库,则是可以在任何目录下使用该命令生成SSH密钥的。
给远程仓库添加文件
来自 AcWing y总 :项目 · 仪表板 · GitLab (acwing.com)
Git全局设置
设置全局用户名和邮箱,信息记录在 ~/.gitconfig 文件中。
git config --global user.name "xxx"
git config --global user.email "xxx"
创建一个新仓库
git clone git@git.acwing.com:xjp/test.git
cd test
git switch -c main
touch README.md
git add README.md
git commit -m "add README"
git push -u origin main
推送现有文件夹
cd existing_folder
git init --initial-branch=main
git remote add origin git@git.acwing.com:xjp/test.git
git add .
git commit -m "Initial commit"
git push -u origin main
推送现有的 Git 仓库
cd existing_repo
git remote rename origin old-origin
git remote add origin git@git.acwing.com:xjp/test.git
git push -u origin --all
git push -u origin --tags
解绑本地与远程仓库
- 在本地文件夹右键点开
Git Bash。(如果是命令行,用cd命令先进入到本地文件夹所在目录) - 输入
git remote -v查看 当前与远程仓库的绑定情况。如果没有那就是没绑定。 - 确定好要取消绑定的远程仓库名称,并输入以下命令取消绑定:
git remote remove <远程仓库名称>。远程仓库名称 就是第2条中查看情况显示出来的数据的第一个词,一般是origin,输入git remote remove origin就可以了。 - 解除完了之后,可以再次使用第二条查看一下是否已经取消了与指定远程仓库的绑定。
小tips:取消绑定后,本地文件夹中的文件不会被删除,只是本地文件夹和远程仓库之间的关联被解除了。如果想要某些文件从远程仓库中也删除,那么需要在解绑之前通过git 操作完成相关命令。