git常用的一些功能


在这里插入图片描述

在这里插入图片描述

git pull冲突解决

方案一:先把本地修改保存起来,拉完代码后再pop出来解决冲突
1.git stash
2.git pull
3.git stash pop stash@{0}
4.冲突则打开文件差分,改好后git add 本次想要提交的代码,git commit。然后再push到远端。
方案二:手撕冲突
1.git pull之后 出现了mege失败。
2.git status 看看那些文件冲突了
3.打开文件进行修改
<<<<<<< HEAD和=中间的是你自己的代码, ======= 和>>>>>>>中间的是其他人修改的代码自己确定保留那一部分代码,最后删除<<<<<<< HEAD ,= ,>>>>>>>这种标志。
4.修改完git add 修改后的冲突文件。git commit 修改
5.开发完提交代码

git提交到评审分支

git push origin HEAD:refs/for/develop_550_ntg7 -o reviewer=,

git查找每行代码提交记录

git blame -L 100,105 main.cpp

git查看本次某文件里修改的内容

git diff 文件名

撤销已经add,但是没有commit的问题

git reset HEAD

git追加上一次提交

git add 新改动的文件
git commit --amend 加参数 --no-edit 可不进行描述
git push origin 远程仓库

某次提交合并到其它分支

1.找到要合并的 cmmit id
2.切换到要合并的分支
3.git cherry-pick 0fc830ca09a5f24c8eebf8106c35c97eb134bae4

撤销已经commit,但是没有push到远端的文件(仅撤销commit 保留add操作)

1.撤销上一次的提交
git reset --soft HEAD^
2.按照输入的数字撤销输入数字条commit记录
git reset HEAD~提交id

撤销已经push到远端的文件

// 切换到指定分支
git checkout 分支名
// 撤回到需要的版本
git reset --soft 需要回退到的版本号
//提交撤销动作到服务器,强制提交当前版本号
git push origin 分支名 --force
可以通过 git log 命令查看提交的版本号(选择需要回退的版本号)

注意:
git reset --soft/hard 需要回退到的版本号
soft 和 hard的区别

soft:保留本地当前工作区,用于重新提交(回退到指定版本号,回退的版本号代码会保留到本地工作区,本地工作区代码还是保留最后提交的状态)
hard:不保留本地当前工作区,回退到指定版本号之后,同时本地工作区代码也回退,一定要谨慎使用
git push origin 分支名 --force
撤销后强制提交到当前分支的版本号状态,这里使用要谨慎

查看git pull以那个远程仓库为基准

git remote show origin

git pull 仓库指定分支

git.exe pull -v --progress “origin” develop

本地分支git pull远程依赖修改

git branch --set-upstream-to=origin/master master

设置当前分支的默认推送远端分支

git branch --set-upstream-to=远端库/远端分支 修改的分支名

e.g : git branch --set-upstream-to=origin/ID1000591-0907-4 ID1000591-0907-4

查看当前分支的默认推送远端分支

git branch -vv

删除本地的某次commit

git log 找到要删除的 58211e7a5da5e74171e90d8b90b2f00881a48d3a
git rebase -i 它之前的commit 会弹出一个页面然后 把58211e7a5da5e74171e90d8b90b2f00881a48d3a这一行前面的pick改为drop

想使用某个版本的文件替换当前工作区文件

  1. git reset 提交记录 – 文件名 或者 git reset 提交记录推到当时状态
  2. git status 查看下暂存区的文件
  3. git checkout – 文件名 命令来把 暂存区文件拉到工作区
  4. “git checkout HEAD .” 或者 “git checkout HEAD ” 命令,会用最新提交的全部或者部分文件替换暂存区和以及工作区中的文件。

想切到当前分支远程仓库的最新提交

git reset --head origin/分支

给当前项目添加子库

git submodule add -f http:///.git
-f 是强制的意思,一般不需要加
命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。添加完成以后,再将子模块所在的文件夹添加到工程中即可。

submodule的删除稍微麻烦点:首先,要在“.gitmodules”文件中删除相应配置信息。然后,执行“git rm –cached ”命令将子模块所在的文件从git中删除。
下载的工程带有submodule

当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:
git submodule update –init –recursive

即可将子模块内容下载下来后工程才不会缺少相应的文件。

拉取有子库的项目

1.拉取字库组件
git submodule update –init –recursive
2.递归切到对象分支
git submodule foreach --recursive ‘git checkout ***’

删除某次改动

git revert 547170dfbabb42de0095d5cd38c05f1abe8f3b65
自动生成一个commit会 描述你没有改动
然后 再git push到远端库即可

对子库的操作

当前库下的所有子库
git submodule foreach ‘git 命令’
当前库的子库的字库…递归调用
git submodule foreach --recursive ‘git 命令’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Git是目前软件开发中最流行的版本控制工具之一,而在Git中,分支是管理代码的重要机制,在不同的分支上开发不同的功能,能够很好地保证代码的稳定性和可维护性。下面是Git常用命令切换分支的介绍。 1.查看分支 git branch命令用于查看当前本地仓库中的所有分支,命令格式为:git branch。通常在不加参数时,该命令会列出本地仓库的所有分支,并在当前分支前面加上一个“*”号。 2.切换分支 git checkout命令可以切换分支,命令格式为:git checkout [分支名]。使用该命令可以在不同的分支之间进行切换,同时可以回滚到之前的提交。 3.创建分支 git branch命令还可以用于创建新的分支,命令格式为:git branch [分支名]。创建新分支后,需要使用git checkout命令切换到这个新分支才能开始在该分支上开发新的功能。 4.合并分支 git merge命令用于合并两个不同的分支,命令格式为:git merge [分支名]。通常将当前分支合并到目标分支上,目标分支上会合并当前分支,以此来实现两个分支的合并。 5.删除分支 git branch命令还可以用于删除已经存在的分支,命令格式为:git branch -D [分支名]。需要注意的是,删除分支需要切换到其他分支上,否则会导致删除失败。 总之,Git的分支机制提供了非常方便的代码管理方式,通过以上几个Git命令的使用,开发人员可以快速创建、切换、合并和删除各种分支,以便更好地开发和管理代码。 ### 回答2: Git是一款非常流行的版本控制系统,它可以让我们轻松地管理代码的版本,对于团队协作尤为重要。而切换分支则是Git中的一个非常重要的操作,可以让我们在不同的分支上开发不同的功能,互不影响。 下面是一些常用Git命令来切换分支: 1. git branch:查看当前所有的本地分支,带有*号的表示当前所在的分支。 2. git checkout <branch name>:切换到指定的分支,例如:git checkout feature_branch。 3. git checkout -b <new branch name>:创建一个新的分支,并立即切换到该分支上,例如:git checkout -b bugfix_branch。 4. git switch <branch name>:新版Git中可以使用git switch命令来代替git checkout来切换分支。 5. git merge <branch name>:将指定分支的更改合并到当前分支上,例如:git merge feature_branch。 6. git rebase <branch name>:将当前分支的更改移动到另一个分支的基础上,例如:git rebase master。 7. git stash:将当前的更改暂存起来,可以用于在切换分支时避免冲突。 总之,通过掌握Git的分支管理功能,我们可以更好地协作开发,并且更加轻松地管理代码的版本。需要注意的是,在切换分支时一定要注意是否有未提交的更改,避免数据的丢失。 ### 回答3: 在git中,切换分支是常见的操作之一。切换分支可以让我们在不同的分支上进行不同的开发工作,从而提高代码的可维护性和扩展性。下面是git常用命令切换分支的详细介绍: 1. git branch:查看本地所有分支,当前分支会用“*”标识出来。 2. git branch [branch-name]:创建新分支。 3. git checkout [branch-name]:切换到指定分支。 4. git checkout –b [branch-name]:创建并切换到新分支。 5. git merge [branch-name]:将指定分支合并到当前分支。 6. git branch –d [branch-name]:删除指定分支。 以上是git常用命令切换分支的详细介绍。 值得注意的是,在切换分支之前,一定要先确保当前分支的工作已经全部提交了。否则,切换分支后,未提交的工作会丢失。 总之,git是一个强大的版本控制工具。掌握常用git命令可以帮助我们更加高效地管理和维护代码,从而提高开发效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值