Git常用命令

本文记录了一次Git中分支合并过程中的冲突解决步骤,包括切换分支、拉取最新代码、自动合并文件、解决合并冲突及最终提交更改等内容。通过具体操作展示了如何有效地处理代码合并过程中出现的各种问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(lry_adminGetUserInfo)
$ git checkout develop
Switched to a new branch 'develop'
Branch 'develop' set up to track remote branch 'develop' from 'origin'.

(develop)
$ git pull
Already up to date.

(develop)
$ git checkout
Your branch is up to date with 'origin/develop'.

(develop)
$ git checkout lry_adminGetUserInfo
Switched to branch 'lry_adminGetUserInfo'

(lry_adminGetUserInfo)
$ git merge develop
Removing src/test/java/usertests/UserServiceGetNoticeTest.java
Removing src/main/resources/static/user_login.html
Auto-merging src/main/resources/static/user/userinfo.html
Auto-merging src/main/resources/static/user/login.html
Auto-merging src/main/resources/static/user/home.html
Auto-merging src/main/resources/static/user/filemgr.html
Removing src/main/resources/static/register.html
Removing src/main/resources/static/password_modification.html
Removing src/main/resources/static/password_get_back.html
Auto-merging src/main/resources/static/admin/userinfo.html
Auto-merging src/main/resources/static/admin/sendmsg.html
Auto-merging src/main/resources/static/admin/login.html
Auto-merging src/main/resources/static/admin/home.html
Auto-merging src/main/java/com/niners/service/impl/UserServiceImpl.java
CONFLICT (content): Merge conflict in src/main/java/com/niners/service/impl/UserServiceImpl.java
Auto-merging src/main/java/com/niners/service/UserService.java
Auto-merging src/main/java/com/niners/controller/AdminController.java
Automatic merge failed; fix conflicts and then commit the result.

(lry_adminGetUserInfo|MERGING)
$ grep -Rn "<<<<"

(lry_adminGetUserInfo|MERGING)
$ git status
On branch lry_adminGetUserInfo
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:

        new file:   lib/javax.annotation.jar
        new file:   lib/javax.ejb.jar
        new file:   lib/javax.jms.jar
        new file:   lib/javax.persistence.jar
        new file:   lib/javax.resource.jar
        new file:   lib/javax.servlet.jar
        new file:   lib/javax.servlet.jsp.jar
        new file:   lib/javax.servlet.jsp.jstl.jar
        new file:   lib/javax.transaction.jar
        new file:   out/production/main/com/niners/model/dto/input/RequestMessage.java~871fc51d43d695254b3fc1db837dee503153a90f
        new file:   out/production/main/com/niners/model/dto/input/RequestMessage.java~HEAD
        new file:   src/applicationContext.xml
        modified:   src/main/java/com/niners/controller/AdminController.java
        modified:   src/main/java/com/niners/controller/UserController.java
        modified:   src/main/java/com/niners/model/entity/Admin.java
        modified:   src/main/java/com/niners/model/entity/File.java
        modified:   src/main/java/com/niners/repository/NoticeRepository.java
        modified:   src/main/java/com/niners/service/NoticeService.java
        modified:   src/main/java/com/niners/service/UserService.java
        modified:   src/main/java/com/niners/service/impl/UserEditFileServiceImpl.java
        new file:   src/main/java/com/niners/utils/FileUtils.java
        renamed:    src/main/resources/static/administratorHomepage.html -> src/main/resources/static/admin/home.html
        renamed:    src/main/resources/static/administrator_login.html -> src/main/resources/static/admin/login.html
        renamed:    src/main/resources/static/sendMessage.html -> src/main/resources/static/admin/sendmsg.html
        renamed:    src/main/resources/static/userManagement.html -> src/main/resources/static/admin/userinfo.html
        modified:   src/main/resources/static/assets/js/admin.js
        modified:   src/main/resources/static/assets/js/scripts.js
        modified:   src/main/resources/static/assets/js/user.js
        modified:   src/main/resources/static/jquery.js
        deleted:    src/main/resources/static/password_get_back.html
        deleted:    src/main/resources/static/password_modification.html
        deleted:    src/main/resources/static/register.html
        new file:   src/main/resources/static/user/changepwd.html
        renamed:    src/main/resources/static/fileManagement.html -> src/main/resources/static/user/filemgr.html
        renamed:    src/main/resources/static/userHomepage.html -> src/main/resources/static/user/home.html
        renamed:    src/main/resources/static/login.html -> src/main/resources/static/user/login.html
        new file:   src/main/resources/static/user/register.html
        new file:   src/main/resources/static/user/retrievepwd.html
        renamed:    src/main/resources/static/userInformation.html -> src/main/resources/static/user/userinfo.html
        deleted:    src/main/resources/static/user_login.html
        new file:   src/test/java/filetests/FileControllerCreateFileTest.java
        new file:   src/test/java/filetests/FileControllerDeleteFileTest.java
        new file:   src/test/java/filetests/FileControllerGetAuthorizationTest.java
        new file:   src/test/java/filetests/FileControllerRenameFileTest.java
        new file:   src/test/java/filetests/FileControllerUpdateFileTest.java
        new file:   src/test/java/filetests/FileServiceBackVersionTest.java
        new file:   src/test/java/filetests/FileServiceChangeFileAuthorizationTest.java
        new file:   src/test/java/filetests/FileServiceCheckUserFileTest.java
        new file:   src/test/java/filetests/FileServiceCreateFileTest.java
        new file:   src/test/java/filetests/FileServiceDeleteFileTest.java
        new file:   src/test/java/filetests/FileServiceGetAuthorizationTest.java
        new file:   src/test/java/filetests/FileServiceGetFileContentTest.java
        new file:   src/test/java/filetests/FileServiceGetFileInfoTest.java
        new file:   src/test/java/filetests/FileServiceGetLinkTest.java
        new file:   src/test/java/filetests/FileServiceRenameFileTest.java
        new file:   src/test/java/filetests/FileServiceUpdateFileTest.java
        new file:   src/test/java/usertests/NoticeServiceGetNoticeTest.java
        new file:   src/test/java/usertests/UserControllerChangePasswordTest.java
        new file:   src/test/java/usertests/UserControllerChangeUserInfoTest.java
        new file:   src/test/java/usertests/UserControllerGetNoticeTest.java
        new file:   src/test/java/usertests/UserControllerGetUserFileTest.java
        new file:   src/test/java/usertests/UserControllerGetUserInfoTest.java
        modified:   src/test/java/usertests/UserControllerLoginTest.java
        new file:   src/test/java/usertests/UserControllerRegisterTest.java
        modified:   src/test/java/usertests/UserEditFileServiceGetUserFileTest.java
        modified:   src/test/java/usertests/UserServiceChangePasswordTest.java
        modified:   src/test/java/usertests/UserServiceChangeUserInfoTest.java
        deleted:    src/test/java/usertests/UserServiceGetNoticeTest.java
        modified:   src/test/java/usertests/UserServiceGetUserInfoTest.java
        modified:   src/test/java/usertests/UserServiceLoginTest.java
        modified:   src/test/java/usertests/UserServiceRegisterTest.java
        new file:   src/test/java/usertests/UserServiceTest.java
        new file:   src/test/resources/application.properties

Unmerged paths:
  (use "git add <file>..." to mark resolution)

        both modified:   src/main/java/com/niners/service/impl/UserServiceImpl.java


(lry_adminGetUserInfo|MERGING)
$ git add .

(lry_adminGetUserInfo|MERGING)
$ git commit -m "fix merge conflict"
[lry_adminGetUserInfo d9ee1eb] fix merge conflict

(lry_adminGetUserInfo)
$ git status
On branch lry_adminGetUserInfo
nothing to commit, working tree clean

(lry_adminGetUserInfo)
$ git checkout develop
Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.

(develop)
$ git merge lry_adminGetUserInfo
Updating 511c625..d9ee1eb
Fast-forward
 .../com/niners/controller/AdminController.java     | 26 ++++++++++++++++++++++
 .../java/com/niners/controller/FileController.java | 16 +++++++++++++
 src/main/java/com/niners/service/FileService.java  |  4 ++--
 src/main/java/com/niners/service/UserService.java  |  8 +++++++
 .../com/niners/service/impl/FileServiceImpl.java   |  2 +-
 .../com/niners/service/impl/UserServiceImpl.java   | 16 ++++++++++++-
 6 files changed, 68 insertions(+), 4 deletions(-)

(develop)
$ git push origin develop
Counting objects: 13, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (13/13), 1.29 KiB | 1.29 MiB/s, done.
Total 13 (delta 8), reused 0 (delta 0)
remote:
remote: To create a merge request for develop, visit:
remote:   https://codehub.devcloud.huaweicloud.com/codehub/312436/newmerge
remote:
To codehub.devcloud.huaweicloud.com:9f3a9d6e0c744bb4b62b011b78cf6bc5/Niners.git
   511c625..d9ee1eb  develop -> develop

(develop)
$ git checkout lry_adminGetUserInfo
Switched to branch 'lry_adminGetUserInfo'

git_model图片转自网络

<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值