git开发流程

【开发流程】(完成工作后,先将自己分支上的修改合并到主分支。)
(git fetch 。fetch 是比 pull 更细粒度的操作。fetch 是将远端的代码拿下来,而 pull 是执行 fetch 后再与本地的代码合并。)

===以下所有命令都是在相应目录中执行====

一、普通提交


  1. 编码完成后提交到本地分支

git add ‘文件名xxx’
文件名为 ‘.’ 时表示当前目录下的所有文件,也可以指定文件,如:
a.txt , *Window.as, xx/x.dat

git commit -a -s -m “注释”

-a 把所有删除或修改的檔案都 commit(all), -s 签名(sign)
注:执行commit命令后需输入提交说明才可进行下一步,否则提交失败


  1. 与远程同步(如果不执行这步,本地修改将无法合并到版本中)

git pull –rebase
如果过程中出现冲突,按下面方法处理,如果没有,则跳过。
解决冲突过程:
rebase出错会显示冲突的文件名。
如:
CONFLICT (add/add): Merge conflict in xx.xxx

打开冲突文件修改,完成后使用

git add xx.xxx –添加修改的文件
git rebase –continue –继续命令

3.将本地数据push到远程

git push origin HEAD:refs/for/master

4.进入网站 http://10.0.0.21:8080 ,
在 My->Change下面找到提交的内容,
按==Preview==按钮,对内容评分,都选第一项,==publish and commit==之后内容才会合并到版本中
否则其他是获取不到你提交的内容。


二、cherry-pick(提交备份 )

基于你远程分支v1.1.5 开一个新的本地分支v1.1.5,
然后 把你想要的commit 一个一个的cherry-pick 到新分支v1.1.5。
最后 psuh本地新分支,到远程分支v1.1.5

客户端现在创建了v1.1.4的分支,有关1.1.4的修改,后面要提交一份到分支上
创建分支
git checkout -b v1.1.4 origin/v1.1.4
切换分支
git checkout v1.1.4
git checkout master
将修改添加到分支上
git checkout v1.1.4
git cherry-pick commit-id
commit-id可以在master上git log查看到
git push origin HEAD:refs/for/v1.1.4

步骤:
1. git log
1. git checkout xxx
1. git pull
1. git status
1. git cherry-pick xxxid
1. git pull –rebase
1. git status
1. git push

若有冲突, 解决,然后再

git cherry-pick –continue

撤销(到xxxid,该id的提交会保存。)

git reset –hard xxxid –(不留痕)
git reset –soft xxxid –(留痕)–不好用,用上面的,或者去掉(–soft)


三、缓存修改的文件(git stash )

1.git stash
2.修改其他bug,提交之后
3.git stash pop (还原之前的修改)

另:

git stash list (可以查看缓存列表)
git stash clear(清空场景(stash)堆栈)


四、【其他命令】

将提交当做另一个提交的patch

git push origin HEAD:refs/changes/ID号

【恢复文件】
git checkout 文件名

【恢复当前目录下的所有文件】
git checkout .

【显示提交日志】
git log
git log –graph –pretty=oneline

【日志回滚】
git reset commitid
commitid可以通过git log命令查看
回滚日志并不会回滚修改的内容

【删除feature分支】
git branch -d feature


五、【一些问题和解决方案】

Q1.# Your branch is ahead of ‘origin/master’ by 6016 commits.
A: 解决方法:

git pull –rebase

Q2.把多次提交整合到一个commit里面
A: amend

git reset –hard f3861e7267e2ae3e70bb54d97fc957cb0097741e
git commit –amend “temp”
git commit –amend f3861e7267e2ae3e70bb54d97fc957cb0097741e
git commit -a -s -m “tmp”

==git commit== 命令的-a选项可只将所有被修改或者已删除的且已经被git管理的文档提交倒仓库中。如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add 命令的。

git add .命令除了能够判断出当前目录(包括其子目录)所有被修改或者已删除的文档,还能判断用户所添加的新文档,并将其信息追加到索引中。

(先add,再commit, push, publish and commit 做完才真正提交结束!!)

git rebase master

git rebase origin/master

git rebase –continue
git rebase –about///

git status
git log
git branch
git checkout work–切换分支(.idea/ 恢复某个文件夹)
git pull 拉取远程最新代码
git branch -m work my_branch 重命名分支
git add .

git diff a9685a244dfd154c630a6df32efe9e09fc5a1390

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值