git常用命令及手动关联git本地和远端仓库

1、应用场景

通常情况下,我们一般都是现在git远端仓库创建项目,然后直接git clone 仓库地址直接本地,这时候就会自动关联本地仓库和远端仓库。

当有时候我们需要手动的把本地代码提交到远端,关联到远端的仓库。

2、关联git本地和远端仓库步骤

打开git,输入mkdir newProject 新建一个文件夹。

git init 初始化本地文件夹为一个可以管理的git仓库。

关联本地仓库和远端仓库:git remote add origin http://${path}.git.

把文件放入本地仓库

git st(status)          // 列出没有被git管理或者修改但还没有未被提交的文件

git diff # → diff文件的修改(⚠️很重要很重要很重要)

git add .          // 将未被管理的文件添加到git

git ci(commit) -am "提交文件"

把本地库推送到远端仓库

git push -u origin master

ps:当远端仓库使用Readme文件初始化项目,需要先git pull origin master,有固定格式时需手动编辑,按i修改,:wq退出

切换本地开发分支并管理远端分支

git co(checkout) -b topic      // 创建并切换到topic新分支,相当于git branch topic 和git checkout topic 组合

git push origin dev:dev      // 发布dev分支,同步dev分支的代码到远程服务器 ,这样远程仓库又多了一个dev分支(没有将自动创建dev分支并关联,个人觉得 这是项目构建时组长或特定一个人去构建的,)

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

3、git 常用命令

开发四部曲。

git add .

git commit -a "commit" / git commit -am "commit"

git pull origin master

git push origin master

代码冲突。

解决冲突

git add .

git rebase --continue (或者再次git commit)

git push origin master

git 分支管理

git fetch (-p)               // branch在服务器上的最新状态

git branch (-a)                // 查看所有branch

git branch newBranch    // 本地创建branch

git checkout branch        // 切换branch

git checkout -b topic      // 创建并切换到topic新分支

git push origin topic:topic      // 关联本地topic分支和远端topic分支

git branch --set-upstream-to=origin/topic topic      //设置本地topic的上游及远端分支(设置之后git pull将默认从远端topic分支可拉取代码,git push将默认推送代码到远端topic分支)

......

git版本管理

git reset --hard HEAD^          // 回退上一个版本

git reset --hard HEAD~3          // 回退上三个版本

git reset --hard 版本号          // 回退指定版本

git远端版本回退

git checkout target_branch            // 切换到需要回滚的分支

git pull                                                //更新代码

git branch target_branch_copy         //备份一下这个分支当前的情况

git reset --hard target_commit_id    //把target_branch本地回滚到target_commit_id

git push origin :target_branch          //删除远程 target_branch

git push origin target_branch         //用回滚后的本地分支重新建立远程分支

git push origin :target_branch_copy      //如果前面都成功了,删除这个备份分支

git 大小写不敏感问题

修改配置项

项目根目录下,ll -a

cd .git/ 进入.git/文件下,ll -a

修改config配置文件 vim config

ignorecase = false

:wq退出保存

修改文件名,提交。

ps:多人协作时不建议使用,大小写不统一时更新会报错。建议提交后再把配置项修改为true。

重命名

git mv oldName newName

git status

可以看到rename的提示,此时正常提交即可。
 

<think>好的,我现在需要帮助用户了解如何将Git本地仓库与远程仓库进行同步。首先,用户的问题是关于git pushpull的同步工作流,所以我得先回忆一下Git的基本操作流程。 根据用户提供的引用内容,特别是引用[1]里的步骤,远程仓库是空白的时候,用户需要初始化本地仓库关联远程,然后提交并推送。这可能适用于第一次同步的情况。而引用[2]提到了git pull相当于fetch加merge,可能会产生合并提交,导致历史臃肿,所以可能需要建议使用rebase来保持历史整洁。 接下来,我需要整理一个清晰的步骤指南,分情况讨论:首次同步日常同步。首次同步包括初始化、关联远程、提交推送。日常同步则需要处理pullpush的顺序,以及解决可能的冲突。 用户可能需要知道如何避免合并提交,所以应该提到git pull --rebase或者配置自动rebase。此外,常见问题比如冲突解决、强制推送的风险也需要涵盖,这样用户遇到问题时可以参考。 还要确保使用正确的中文术语,比如“暂存区”、“本地仓库”、“远程分支”等。同时,检查是否需要补充其他命令,比如git remote -v查看远程仓库,或者git status检查状态。 最后,生成相关问题时要围绕同步工作流,可能的扩展问题包括分支管理、冲突解决的最佳实践、rebase与merge的区别等。确保问题覆盖用户可能进一步想了解的内容。</think>### Git本地仓库与远程仓库同步教程 #### 一、首次同步(本地仓库关联远程仓库) 1. **初始化本地仓库** 若本地未初始化仓库,执行: ```bash git init ``` 2. **关联远程仓库** 绑定远程仓库地址(以GitHub为例): ```bash git remote add origin https://github.com/用户名/仓库名.git ``` 可通过 `git remote -v` 验证关联状态[^1]。 3. **提交代码到本地仓库** 添加文件到暂存区并提交: ```bash git add . git commit -m "首次提交" ``` 4. **推送到远程仓库** 将本地分支与远程分支关联(首次需指定上游分支): ```bash git push -u origin main # 根据分支名称调整(如master/main) ``` --- #### 二、日常同步工作流 1. **拉取远程更新** 优先拉取远程最新代码,避免推送冲突: ```bash git pull origin main ``` *建议使用 `git pull --rebase` 保持提交历史线性[^2]。* 2. **本地修改与提交** ```bash git add . git commit -m "功能描述" ``` 3. **推送本地提交** ```bash git push origin main ``` *若推送失败,需再次执行 `git pull` 解决冲突后再推送。* --- #### 三、关键操作说明 1. **`git push` 与 `git pull` 关系** - `push` 将本地提交上传到远程 - `pull` = `fetch`(下载远程内容) + `merge`(合并到本地) - 推荐配置自动 rebase: ```bash git config --global pull.rebase true ``` 2. **冲突解决流程** - 执行 `git pull` 后若提示冲突 - 手动编辑文件解决标记(`<<<<<<< HEAD` 等) - 重新提交: ```bash git add . git commit -m "解决冲突" git push ``` --- #### 四、常见问题 1. **强制推送风险** `git push -f` 会覆盖远程历史,仅限个人分支使用。 2. **分支同步管理** 同步特定分支需明确指定: ```bash git push origin 分支名 git pull origin 分支名 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值