云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > git 使用技巧总结

git 使用技巧总结

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 14:57:42

git 使用技巧总结

说明: 本地repo已经有啦,对应的远程repo 为tiger, 本地分支为master。

问题一: 当拉取代码的remote repo仓库为tiger, 而现在要将修改push到remote repo的 develop分支该如何?

思路:拉取新的remote_develop_repo_url, 将原有的代码合并到当前分支, 然后再提交到 remote_develop_repo_url,。 1. 首先将当前修改提交到本地当前master分支, git commit -m \

comment\2.

然后使用git remote add remote_repo_name url ,来添加新的remote repo,

git remote add new_repo url_from_igerrit 3.

然后再用git fetch remote_repo_name 来拉取代码 和 git branch 及其配置

到本地,git fetch new_repo

然后,git checkout -b xx local_url 切换到新分支, git checkout -b develop

new_repo/develop 5.

然后再将master分支的修改合并到当前分支上, merge命令自动commit了合

并后的代码到新的分支, git merge master

然后再用git log 查看下更新的是否生成了 change-id, 否则需要拷贝

commit-msg 到当前.git/hook目录下, git log (仅针对持续集成服务器需要根据change-id来分辨提交id的情况)

最后使用git push

remote_repo_name local_branch_name:/refs/for/remote_repo/branch_name 。 git push new_repo develop:refs/to/remote_develop_branch

问题二:

有时为了保存多个工作状态,会使用多次commit (4次),将状态提交到本地仓库,但是在完成编码后,本想git push 最后的状态给时,本地的每次提交都会在远程仓库也有一个对应的提交(也有4次),造成服务器上出现不必要的版本, 如何处理此问题?使得本地4次,远程1次?

思路: git似乎没有直接方法处理这个问题,不过可以考虑在本地建立多分支。 即: 1. 为本地的四次提交建立一个分支名,以保证其状态得以记录。

2. 然后,git reset --soft commit-id 将远程Head指向到4次提交前的状态。

3. 本地再次提交,此时由于Head指向四次前,而working Directory是四次修改提交之后的,此时git commit 就可以完成一次完成四次的提交。 这样既保证了本地有个分支记录了四次历史,同时保证服务器上只更新了一次,且状态一致。

命令如下:

4.

6.

7.

1. git checkout -b branch_name ; 先命名新分支,保证当前分支的四次提交以后即使不记得commit id任然可以查找到。

2. git reset --soft commit-id; 指定四次前的id,回退HEAD, 而index和working directory 都是最新的。此时可以进行commit。 3. git diff ; 查看下状态

4. git log; 确认git 提交历史

5. git commit -m \

6. git push remote-name local_branch:/refs/for/remote_branch

以上错误。 应该是这样:首先git log 查看最后一次的commit id, 然后 数一下要退回的commit 次数,直接git reset --mixed HEAD~N , 让头部退回, 但是index 和 working dir 保持最新。再次直接commit 即可。

情形三: 提交时,出现代码冲突。如何解决?

方法一: 临键分支, 然后会退到上一次commit, 再pull 最新代码, 然后再与当前分支 merge, 然后再提交。

情形四: 如果提交代码到review服务器后,未能及时通过review,而此时远程仓库已经出现了很多提交,导致当前提交无法merge, 怎么办?

1. 使用git checkout -b newBranchName 复制当前分支,以保证自己之前的代码提交保持一个备份。

2. git checkout master切换回原来的分支,并git reset --hard xxxxx,退回到上一次提交。

3. 使用 git pull origin master 来拉取服务器上的最新代码。

4. 使用git cherry-pick xxxxx_commit_idXXXXX 合并自己的代码到最新的状态上, 手动解决本地merge冲突。

5. git push origin master:master 即可。

情形五: 软件有多个发行版, 其中一个发型版中更新了一个功能,想把这个功能提交到其它发行版的远程仓库中, 此时需要怎么办?

1. cherry-pick 功能可以选择一个commit-id 来合并,但是只能在同一个仓库的不同分支。

2. 如果通过添加 git remote add iauto repo_addr_url 的方式的话, 会与本地出现冲突。

3. 通过git remote add 可以将不同远程仓库的分支放到同一个本地仓库的不同分支, 此时只要解决了本地冲突就可以解决了。

git checkout -f 此-f选项可以强制删除本地冲突, 以远程为标准。 --此时再用 git cherry-pick Done.

git 的强大之处:时空倒流

git 的时空倒流法依赖以下三个命令:

1. git reset : --soft --mixed --hard 三种策略

2. git branch : 3. git checkout :

git的强大之处在于 1. 可以随处建立分支,使得不同功能的开发不会依赖,这样 不同版本的代码可以完整地保留下来。

2. 可以随时将代码版本倒流到某个正确无误的时刻, 时光倒流。 3. 可以利用reset 将本地的冗余提交的版本去掉。

4. 可以使用stash 暂存一系列的零时操作。 空间倒流。

5. 可以让用户在本地或者远程的不同分支上轻松切换,版本的管理非常灵活。

搜索更多关于: git 使用技巧总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

git 使用技巧总结 说明: 本地repo已经有啦,对应的远程repo 为tiger, 本地分支为master。 问题一: 当拉取代码的remote repo仓库为tiger, 而现在要将修改push到remote repo的 develop分支该如何? 思路:拉取新的remote_develop_repo_url, 将原有的代码合并到当前分支, 然后再提交到 remote_develop_repo_url,。 1. 首先将当前修改提交到本地当前master分支, git commit -m \comment\2. 然后使用git remote add remote_repo_name url ,来添加新的remote repo, git remote add

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com