妈妈,现在我在一个工作目录,里面有.git目录和一个A文件,修改完A文件后,我想把A文件push 上去,做一个正常的程序员,妈妈从厨房哭到厕所
1、git branch -a(看有多少个分支)
remotes/m/android-7.0.0-b/trunk-7.0 -> origin/trunk-7.0
remotes/origin/AskeyBranch-20160615
remotes/origin/CustBranch-QA160627
remotes/origin/CustBranch-QA160627-nuplayer-2016-11-17
remotes/origin/J.HopkinsBranch-Tag20160920
remotes/origin/J.HopkinsBranch-Tag20161101
2、git branch --track my_trunk_7.0 origin/trunk-7.0 ( 新建分支my_trunk_7.0跟踪到trunk-7.0 )
3、git checkout my_trunk_7.0(切到my_trunk_7.0)
4、git status(这个时候看看你的状态,发现A文件修改了)
modified: A
5、不着急,先喝杯水
6、git stash(保存修改,为什么要保存,因为我要pull, 我要纯净的ID,如果不pull的话,假如另外一个傻逼也改了A文件,他的改动将会被丢掉,然后他会拿刀找你)
7、git pull --rebase origin trunk-7.0 (rebase 拿到最新的A文件)
8、git stash pop --index stash{0} (把你刚才改的东西合并,做了那么多东西就跟svn up 一样,不过这个好处就是你可以选择先fetch 再merge)
9、git add A (把你想提交的添加)
10、git commit (然后会出来一个文本编辑,你写写注释 ctrl + X 再Y 就OK ) (git 的好处就体现在这里,可以本地commit, svn 比较弱智没办法)
11、git push origin HEAD:refs/for/trunk-7.0(HEAD:refs/for 这个东西是给你的大哥review的,按照格式就可以 了)
另外说一下,如果你的ID不纯净,太脏了,比如多了一下A以外其他乱七八糟的文件,垃圾文件
你可以使用命令 rm -rf !(.git) , 再 git stash 一下 就是 雪白晶莹剔透的 ID了
1、git log
看到各种:
commit 368d60ad04b1a3c72b1242c861ce17443650a35d
Author:
Date:
Change-Id: I644b6bf9e53a0a75a1689696c7677a623a35d986
commit fc9de7220bd73ca25c5ba8d750c937a58034db26
Author:
Date:
Change-Id: I7e023d84790fd1c17b45db7f46372fdb41bb68e5
ID是核心
2、