一、新建本地仓库并将代码上传到空的远程仓库
- 新建远程仓库
登录代码托管平台,新建git仓库,假设其地址为
https://www.todo.com/your-username/repo_name.git- 本地仓库初始化
打开终端,进入本地代码所在的文件夹,运行
gitinit- 将本地文件添加到仓库中
gitcheckout-bmain 或gitcheckout-bmaster# 切换到主分支gitadd./*#添加本地的所有文件gitcommit-m"commit first time"- 关联本地仓库与远程仓库
gitremoteaddorigin https://www.todo.com/your-username/repo_name.git地址https://www.todo.com/your-username/repo_name.git仅作为示例,请根据实际情况改为自己的仓库地址。
- 向远程仓库上传代码
gitpush-uorigin main注意:上传代码前,终端会提示用户输入git托管平台的用户名和密码。如果没有出现这一提示,说明建立的本地仓库有误。
错误与解决方案:
如果远程仓库地址确实存在,且第3步关联的地址是正确的,但上传代码时出现“找不到仓库地址”的错误,请尝试如下解决方案。
运行如下命令,查看地址。
gitremote-v确认地址是否被自动修改,如果地址中自动添加了一些字符,例如在原来的地址https://www.todo.com/your-username/repo_name.git中自动添加gitclone.com后,地址变成https://gitclone.com/www.todo.com/your-username/repo_name.git。
如果地址被自动修改,则解决上述错误的过程如下:
运行命令
gitconfig--global--list|grepurl终端可能会打印url.https://gitclone.com/.insteadof=https://
再运行命令
gitconfig--global--unseturl.gitclone.com.insteadOf删除自动修改地址的逻辑。
运行如下命令,查看地址。
gitremote-v如果地址恢复为第3步中的地址,则自动修改地址的逻辑被成功删除。此时,可运行第4步中的命令git push -u origin main重新上传代码,输入用户名和密码即可。
二、修改仓库中的文件
已存在的本地仓库,且已与远程仓库关联的前提下,将修改后的本地文件更新到远程仓库,流程如下:
- 切换到目标分支
gitcheckout-bmain# 切换到你的目标分支,例如main或master。或者运行git checkout main#git pull origin main # 确保你的本地分支是最新的。可以不执行这一步。- 添加修改后的文件
gitaddpath/your_file# 只添加你想要更新的文件gitcommit-m"update file"# 提交你的更改- 推送到远程仓库
gitpush origin main# 推送到远程仓库的 `main` 分支添加force选项,表示强制上传文件,这将覆盖原来的日志。请谨慎使用。
gitpush origin main--force三、删除仓库中的文件
待删除的文件较少时,可用命令
gitrmfile1 file2如果文件较多,可用命令
gitrm-rexample_path注意,运行命令git rm,会删除本地磁盘中的文件。
提交
gitcommit-m"delete files"gitpush origin master 或gitpush origin main四、修改分支中的文件
- 查看远程分支
gitbranch-r- 切换到分支
gitcheckout-torigin/<分支名称>- 修改文件并查看状态
gitstatus- 上传修改的文件
gitadd<修改的文件路径>gitcommit-m"update"gitpush origin<分支名称>五、暂存本地的修改
要将远程仓库的最新代码同步到本地,同时保留你本地新建的文件夹和文件(无论是已修改还是未跟踪的新文件),推荐使用 暂存(stash)→ 拉取 → 恢复 的流程。这样既能拿到远程更新,又不会丢失任何本地工作。
1. 暂存所有本地改动(包括新建的未跟踪文件) 在项目根目录打开终端,执行:gitstash --include-untracked--include-untracked(或 -u)会把尚未被 Git 跟踪的新建文件/文件夹也一起保存起来。 执行后,工作区会暂时回到上次提交后的干净状态,你的所有本地修改都被安全存入一个“储藏堆栈”中。 2. 拉取远程最新代码gitpull origin master将 main 替换为你实际使用的分支名(如 master、develop 等)。 如果本地分支已经关联了远程上游分支,直接 git pull 也可以。 3. 恢复之前暂存的本地改动gitstash pop这会把第一步保存的修改重新应用到当前工作区。 如果恢复时出现冲突(例如你新建的文件名与远程新增文件重名),Git 会提示你手动解决冲突,解决后 git add 标记已解决即可。参考文献
[1] https://deepinout.com/git/git-questions/218_git_how_can_i_break_the_link_of_git_config_urlinsteadof_url.html
[2] Scott Chacon, Ben Straub. Pro Git, Second Edition. Apress.