git多人合作开发使用到的指令

团队开发中指令的使用

  1. 添加bug注释如下
    在这里插入图片描述

  2. 添加成功后在git目录下打开命令行

  3. git diff 查看哪些内容更改了

  4. git add -u 添加修改的文件

  5. 也可以使用git add . 添加所有改动的文件

  6. git status 查看添加是否成功,成功后文件变为绿色

  7. 添加提交注释 git commit -m “#1534 Add keycode instructions to firmware by gaoyuan mfg,pass”

  8. git log --oneline 查看提交过的日志

  9. 9.如果发现add的数据又错误,想要重新提交 git reset --soft HEAD^ 删除一条最近的记录

  10. 如果发现add的数据有错误,想要撤销添加也就是把绿色文件变回来,
    git reset common/common.mak main_rocky/mfp_config_mfpstd.mak modules/mfg/mfg_parser_FCT.c在这里插入图片描述

  11. 然后 git status 查看下状态

  12. 发现已经回来在这里插入图片描述

  13. commit以后就可以进行提交bug分支了,

  14. 提交分支分为2种,一是在本地不创建分支的如:git push -u origin master:bugfix_PR1394_gaoyuan(创建的分支的名字)。二是,在本地创建分支的方法,commit 以后 git checkout -b bugfix_PR1394_gaoyuan 创建分支。然后提交代码到分支,git push -u origin bugfix_PR1394_gaoyuan

  15. 如果发现提交的分支还有需要修改的地方,首先在远程仓库上面删除提交的分支,然后到本地工程目录下, 执行 git reset --soft HEAD^ 删除最近的一次提交log日志。

  16. git branch 显示分支

  17. git branch -d 分支名字 删除分支

注意说明
为什么2次提交到一个分支要删除本地log日志,然后删除远程仓库。原因是,大型项目一个bug就是一个分支,提交一次commit会在远程显示一条提交 记录。如果本地一个分支多次提交会在远程端针对一个bug号显示多条记录,不利于审查代码人员的合并分支。如果远程端分支删除,但是本地的提交log没有删除,那么同样会在远程端显示多条commit.

其他常用git指令操作说明如下:皆属原创,常用指令

1.gitignore 忽略上传的内容,里面内容是aaa/* 不上传aaa目录下的任何内容,注意空文件夹是默认被屏蔽的
2.git status uno 不显示未跟踪文件,意思是只看到文件中内容修改的显示出来,如果是新添加的文件,不显示
3.git clone 路径 + 文件夹 将路径下的代码下载下来,放到文件夹中
4.git diff 查看文件修改后的对比。 注意新添加的文件不会出现在对比中(所以patch的时候特别注意了)
5.git log 查看commit ID
6.git checkout branch01 切换分支到branch01 上面
7.git合并分支到master,假如分支是branch01.
第一步是在分支branch01上面 git add .
第二步是在分支branch01上面 git commit -m “branch01 test”
第三步是在分支branch01上面 git push -u origin branch01
第四步是切换到master分支上 git checkout master
第五步合并分支的时候要确定你当前的代码属于最新的,因此git pull 拉去一下
第六步是git merge branch01 合并分支(注意这只是说合并了,但是没上传呀,不是merge了就完成了)
第七步git status 查看状态

On branch master
Your branch is ahead of 'origin/master' by 5 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
上面的意思就是你有5个commit,需要push到远程master上

第八步是git push origin master 这个才是真正合并分支到master
8.假如你签下来的代码,其中某个文件或文件夹被你误操作删除了,可以执行恢复指令如下:git checkout 文件/文件夹名字
9.打补丁使用方法和注意事项
补丁参考文档
假如代码修改完成,需要上传至服务器,在上传过程中可能出现错误删除等操作
所以补丁至关重要
补丁的方法又如下:
第一种推荐使用:
(1)git add .
(2)git commit -m “zhushi”
(3)git log 查看上传的commit ID
(4)git format-patch -s 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7 (commit ID)
或者使用
git format-patch HEAD^ <==最近的1次commit的patch
git format-patch HEAD^^ <==最近的2次commit的patch
git format-patch HEAD^^^ <==最近的3次commit的patch
git format-patch HEAD^^^^ <==最近的4次commit的patch
git format-patch HEAD^^^^^ <==不支持!!!!error!!

(5)git reset --hard 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7 退回到那个commit ID
测试,应用patch
检查patch文件
$ git apply --stat xxx.patch
#查看是否能应用成功
$ git apply --check xxx.patch
应用patch
$ git am -s < xxx.patch
特别值得注意的是:自己测试补丁的时候。生成的补丁无法在本工程中直接打上。补丁是给别人用的,测试的时候可以在另一个文件夹中签代码,然后补丁拿过去

(6)git apply + 补丁文件 补丁还原

10.打补丁的另一个方式就是通过 git diff 打出来的补丁限制太多了。
这个就随便说下把:
使用git diff 的patch时候,
(1)git log 查看commit ID记录你想要打的补丁ID,还要记录是从那个commit ID开始,这个是一个区间的diff
比如说:
如图1-2之间的diff 不同打包到my_diff中,这样就生成了my_diff.patch。然后用git apply 进行补丁的使用,注意如果没有采取2段commitID那么就会出现补丁内容为空现象。在这里插入图片描述
11.git tag 打标签的方法
(1)git tag -a v1.0 -m ‘my version 1.40’
-a 后面指定标签的标签名字
-m 后面则指定了对应的标签说明
(2)git push origin v1.0 将v1.0标签推送到服务器
(3)git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象。
(4)git tag 列显已有的标签

说到标签就必须说到分支,毕竟太像了,明白这几点就够用了
(1)tag 对应某次 commit, 是一个点,是不可移动的。
(2)branch 对应一系列 commit,是很多点连成的一根线,有一个HEAD 指针,是可以依靠 HEAD 指针移动的
(3)两者的区别决定了使用方式,改动代码用 branch ,不改动只查看用 tag。
(4)所以,版本发布用tag,同事协作用branch.

git强制覆盖本地代码(与git远程仓库保持一致)

git强制覆盖:
git fetch --all
git reset --hard origin/master (当前代码所在分支)
git pull
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull

冲突解决

当我们把分支推到主分支时,提示冲突待解决
显示每个(本地)分支当前指向的提交记录的哈希值,以及和其上游分支的相对位置(如果有的话)
-v与-verbose是一个效果
-vv会显示上游分支的名字
1.git reset --soft HEAD^ 恢复提交
2.git status -uno 查看更改记录
3.git branch --set-upstream-to=origin/master 切换到主分支下
4.git branch -vv 显示上游分支名字
5.git pull 拉下来(拉下来之前用git diff > xxx.patch保存下)
6.改动冲突之后重新提交

master 5b52472 [origin/bugfix_PR3372_gaoyuan] #3372 porting hida project, small size corresponds to problem point 2 by gaoyuan
若有新的常用指令,持续更新中。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值