你是否遇到过这样的问题:

你的客户在你们这边做了N个项目,而项目之间又存在着某些业务关联(数据库访问等)
之前你可能是这样处理的,为客户的每个项目创建单独的Git版本
  • PC项目
  • 手机项目
  • 微信项目
  • 其他项目....

你是否有想过有其他的解决方法呢?比如在同一个Git仓库对所有项目进行统一管理呢,那么该怎么使用Git来做到统一管理而又不会影响到各项目的工作呢?

当然使用万能的Git分支完全可以满足你这么个性化要求(以分支的形式管理不同项目)
 
首页你需要分支是必须要创建的吧(对应不同的项目)
那么问题来了,后创建的分支默认是以当前分支为父分支的,像下面这样:"master-dev"的父分支是master
既然Git在创建是默认给我们的新分支指定了父亲,那么可不可以在创建是不需要呢?
 
强大的Git同样提供了解决方法(创建时提供--orphan 参数即可):git checkout --orphan 分支名
注意:
尽管创建分支时没有了父分支,但创建成功后,原分支的文件会在创建时添加到当前暂存区的,所以需要移除(不需要的情况下)
然后再将原分支的文件从当前分支仓库中移除,这样你的分支里的文件对于其他分支来说就是独一无二的了(即使不移除原分支的文件,此文件也是新添加到当前分支的,所以跟其他分支没有任何关系)
而其他分支也完全不可能会影响你当前分支的工作(不存在依赖关系的前提下)
 
当切换到PC分支时,Git仓库里的文件也会发生变化,也就实现了我们的目的
不同的分支其实就是不同的目录和文件,跟其他分支没有关系的
提交记录应该是这样子的
可以看到下面pc分支的提交连接线(蓝色)跟其他的连接线(绿色)是不同的
master-dev是在master上创建的子分支(存在依赖关系)
以同样的方式创建分支mobile,同样没有父亲,git checkout --orphan mobile
 
然后在不同分支进行模拟提交,那么提交记录就有可能是这样的
应用场景不同,请谨慎使用,否则提交历史将惨不忍睹
最终的Git分支和对应的目录及文件是这样的,现在你可以在一个Git里愉快的玩耍了
技术有风险使用请谨慎
技术有风险使用请谨慎
技术有风险使用请谨慎
重要的事情说三遍
 
举个栗子:
  1. F:\Demo\D11>tree /F
  2. 文件夹 PATH 列表
  3. 卷序列号为 A627-5B49
  4. F:.
  5. └─master
  6. main.txt
  7.  
  8. F:\Demo\D11>git status
  9. fatal: Not a git repository (or any of the parent directories): .git
  10. F:\Demo\D11>git init
  11. Initialized empty Git repository in F:/Demo/D11/.git/
  12. F:\Demo\D11>git status
  13. On branch master
  14. Initial commit
  15. Untracked files:
  16. (use "git add <file>..." to include in what will be committed)
  17. master/
  18. nothing added to commit but untracked files present (use "git add" to track)
  19. F:\Demo\D11>git add --all
  20. F:\Demo\D11>git status
  21. On branch master
  22. Initial commit
  23. Changes to be committed:
  24. (use "git rm --cached <file>..." to unstage)
  25. new file: master/main.txt
  26. F:\Demo\D11>git commit -a -m "master branch init"
  27. [master (root-commit) 3ae67eb] master branch init
  28. 1 file changed, 1 insertion(+)
  29. create mode 100644 master/main.txt
  30.  
  31. F:\Demo\D11>git commit -a -m "master edit"
  32. [master 60197ce] master edit
  33. 1 file changed, 3 insertions(+), 1 deletion(-)
  34. F:\Demo\D11>git checkout -b "master-dev"
  35. Switched to a new branch 'master-dev'
  36. F:\Demo\D11>git status
  37. On branch master-dev
  38. Changes not staged for commit:
  39. (use "git add <file>..." to update what will be committed)
  40. (use "git checkout -- <file>..." to discard changes in working directory)
  41. modified: master/main.txt
  42. no changes added to commit (use "git add" and/or "git commit -a")
  43. F:\Demo\D11>git commit -a -m "master-dev edit"
  44. [master-dev 67837dd] master-dev edit
  45. 1 file changed, 3 insertions(+), 1 deletion(-)
  46. F:\Demo\D11>git show-branch
  47. ! [master] master edit
  48. * [master-dev] master-dev edit
  49. --
  50. * [master-dev] master-dev edit
  51. +* [master] master edit
  52. F:\Demo\D11>git tree --all
  53. WARNING: terminal is not fully functional
  54. * 67837dd (HEAD, master-dev) master-dev edit
  55. * 60197ce (master) master edit
  56. * 3ae67eb master branch init
  57. F:\Demo\D11>git citool
  58. F:\Demo\D11>git checkout --orphan pc
  59. Switched to a new branch 'pc'
  60. F:\Demo\D11>git status
  61. On branch pc
  62. Initial commit
  63. Changes to be committed:
  64. (use "git rm --cached <file>..." to unstage)
  65. new file: master/main.txt
  66. Untracked files:
  67. (use "git add <file>..." to include in what will be committed)
  68. pc/
  69. F:\Demo\D11>git rm -r master/
  70. rm 'master/main.txt'
  71. F:\Demo\D11>RD /S master/
  72. f:\demo\d11\master, 是否确认(Y/N)? Y
  73. F:\Demo\D11>tree /F
  74. 文件夹 PATH 列表
  75. 卷序列号为 A627-5B49
  76. F:.
  77. └─pc
  78. pc.txt
  79. F:\Demo\D11>git add --all
  80. F:\Demo\D11>git commit -a -m "pc/pc init"
  81. [pc (root-commit) 3e176c6] pc/pc init
  82. 1 file changed, 1 insertion(+)
  83. create mode 100644 pc/pc.txt
  84. F:\Demo\D11>git show-branch
  85. ! [master] master edit
  86. ! [master-dev] master-dev edit
  87. * [pc] pc/pc init
  88. ---
  89. * [pc] pc/pc init
  90. + [master-dev] master-dev edit
  91. ++ [master] master edit
  92. ++ [master^] master branch init
  93. F:\Demo\D11>git tree --all
  94. WARNING: terminal is not fully functional
  95. * 3e176c6 (HEAD, pc) pc/pc init
  96. * 67837dd (master-dev) master-dev edit
  97. * 60197ce (master) master edit
  98. * 3ae67eb master branch init
  99. F:\Demo\D11>git status
  100. On branch pc
  101. Changes not staged for commit:
  102. (use "git add <file>..." to update what will be committed)
  103. (use "git checkout -- <file>..." to discard changes in working directory)
  104. modified: pc/pc.txt
  105. no changes added to commit (use "git add" and/or "git commit -a")
  106. F:\Demo\D11>git commit -a -m "pc edit"
  107. [pc d1f98d3] pc edit
  108. 1 file changed, 3 insertions(+), 1 deletion(-)
  109. F:\Demo\D11>git commit -a -m "pc reedit"
  110. [pc 2fd85bf] pc reedit
  111. 1 file changed, 3 insertions(+), 1 deletion(-)
  112. F:\Demo\D11>git show-branch
  113. ! [master] master edit
  114. ! [master-dev] master-dev edit
  115. * [pc] pc reedit
  116. ---
  117. * [pc] pc reedit
  118. * [pc^] pc edit
  119. * [pc~2] pc/pc init
  120. + [master-dev] master-dev edit
  121. ++ [master] master edit
  122. ++ [master^] master branch init
  123. F:\Demo\D11>git tree --all
  124. WARNING: terminal is not fully functional
  125. * 2fd85bf (HEAD, pc) pc reedit
  126. * d1f98d3 pc edit
  127. * 3e176c6 pc/pc init
  128. * 67837dd (master-dev) master-dev edit
  129. * 60197ce (master) master edit
  130. * 3ae67eb master branch init
  131. F:\Demo\D11>git checkout "master-dev"
  132. Switched to branch 'master-dev'
  133. F:\Demo\D11>git diff
  134. WARNING: terminal is not fully functional
  135. diff --git a/master/main.txt b/master/main.txt
  136. index 75bf703..5a345f8 100644
  137. --- a/master/main.txt
  138. +++ b/master/main.txt
  139. @@ -2,4 +2,6 @@ main/main init
  140. master edit
  141. -master-dev edit
  142. \ No newline at end of file
  143. +master-dev edit
  144. +master-dev reedit
  145. +
  146. F:\Demo\D11>git commit -a -m "master-dev reedit"
  147. [master-dev 67cec74] master-dev reedit
  148. 1 file changed, 3 insertions(+), 1 deletion(-)
  149. F:\Demo\D11>git show-branch
  150. ! [master] master edit
  151. * [master-dev] master-dev reedit
  152. ! [pc] pc reedit
  153. ---
  154. * [master-dev] master-dev reedit
  155. * [master-dev^] master-dev edit
  156. +* [master] master edit
  157. +* [master^] master branch init
  158. + [pc] pc reedit
  159. + [pc^] pc edit
  160. + [pc~2] pc/pc init
  161. F:\Demo\D11>git tree --all
  162. WARNING: terminal is not fully functional
  163. * 67cec74 (HEAD, master-dev) master-dev reedit
  164. * 67837dd master-dev edit
  165. * 60197ce (master) master edit
  166. * 3ae67eb master branch init
  167. * 2fd85bf (pc) pc reedit
  168. * d1f98d3 pc edit
  169. * 3e176c6 pc/pc init
  170. F:\Demo\D11>git checkout master
  171. Switched to branch 'master'
  172. F:\Demo\D11>git commit -a -m "master reedit"
  173. [master b79efa5] master reedit
  174. 1 file changed, 3 insertions(+), 1 deletion(-)
  175. F:\Demo\D11>git show-branch
  176. * [master] master reedit
  177. ! [master-dev] master-dev reedit
  178. ! [pc] pc reedit
  179. ---
  180. * [master] master reedit
  181. + [master-dev] master-dev reedit
  182. + [master-dev^] master-dev edit
  183. *+ [master^] master edit
  184. *+ [master~2] master branch init
  185. + [pc] pc reedit
  186. + [pc^] pc edit
  187. + [pc~2] pc/pc init
  188. F:\Demo\D11>git tree --all
  189. WARNING: terminal is not fully functional
  190. * b79efa5 (HEAD, master) master reedit
  191. | * 67cec74 (master-dev) master-dev reedit
  192. | * 67837dd master-dev edit
  193. |/
  194. * 60197ce master edit
  195. * 3ae67eb master branch init
  196. * 2fd85bf (pc) pc reedit
  197. * d1f98d3 pc edit
  198. * 3e176c6 pc/pc init
  199. F:\Demo\D11>git citool
  200. F:\Demo\D11>git checkout pc
  201. Switched to branch 'pc'
  202. F:\Demo\D11>git commit -a -m "pc re-reedit"
  203. [pc 1d24c39] pc re-reedit
  204. 1 file changed, 3 insertions(+), 1 deletion(-)
  205. F:\Demo\D11>git show-branch
  206. ! [master] master reedit
  207. ! [master-dev] master-dev reedit
  208. * [pc] pc re-reedit
  209. ---
  210. * [pc] pc re-reedit
  211. * [pc^] pc reedit
  212. * [pc~2] pc edit
  213. * [pc~3] pc/pc init
  214. + [master] master reedit
  215. + [master-dev] master-dev reedit
  216. + [master-dev^] master-dev edit
  217. ++ [master^] master edit
  218. ++ [master~2] master branch init
  219. F:\Demo\D11>git tree --all
  220. WARNING: terminal is not fully functional
  221. * 1d24c39 (HEAD, pc) pc re-reedit
  222. * 2fd85bf pc reedit
  223. * d1f98d3 pc edit
  224. * 3e176c6 pc/pc init
  225. * b79efa5 (master) master reedit
  226. | * 67cec74 (master-dev) master-dev reedit
  227. | * 67837dd master-dev edit
  228. |/
  229. * 60197ce master edit
  230. * 3ae67eb master branch init
  231. F:\Demo\D11>git checkout --orphan mobile
  232. Switched to a new branch 'mobile'
  233. F:\Demo\D11>git status
  234. On branch mobile
  235. Initial commit
  236. Changes to be committed:
  237. (use "git rm --cached <file>..." to unstage)
  238. new file: pc/pc.txt
  239. Untracked files:
  240. (use "git add <file>..." to include in what will be committed)
  241. mobile/
  242. F:\Demo\D11>tree /F
  243. 文件夹 PATH 列表
  244. 卷序列号为 A627-5B49
  245. F:.
  246. ├─mobile
  247. mobile.txt

  248. └─pc
  249. F:\Demo\D11>RD /S f:\demo\d11\pc
  250. f:\demo\d11\pc, 是否确认(Y/N)? Y
  251. F:\Demo\D11>tree /F
  252. 文件夹 PATH 列表
  253. 卷序列号为 A627-5B49
  254. F:.
  255. └─mobile
  256. mobile.txt
  257. F:\Demo\D11>git status
  258. On branch mobile
  259. Initial commit
  260. Changes to be committed:
  261. (use "git rm --cached <file>..." to unstage)
  262. new file: pc/pc.txt
  263. Changes not staged for commit:
  264. (use "git add/rm <file>..." to update what will be committed)
  265. (use "git checkout -- <file>..." to discard changes in working directory)
  266. deleted: pc/pc.txt
  267. Untracked files:
  268. (use "git add <file>..." to include in what will be committed)
  269. mobile/
  270. F:\Demo\D11>git rm -r pc/
  271. rm 'pc/pc.txt'
  272. F:\Demo\D11>git status
  273. On branch mobile
  274. Initial commit
  275. Untracked files:
  276. (use "git add <file>..." to include in what will be committed)
  277. mobile/
  278. nothing added to commit but untracked files present (use "git add" to track)
  279. F:\Demo\D11>git add --all
  280. F:\Demo\D11>git commit -a -m "pc/pc master init"
  281. [mobile (root-commit) a94d110] pc/pc master init
  282. 1 file changed, 1 insertion(+)
  283. create mode 100644 mobile/mobile.txt
  284. F:\Demo\D11>git show-branch
  285. ! [master] master reedit
  286. ! [master-dev] master-dev reedit
  287. * [mobile] pc/pc master init
  288. ! [pc] pc re-reedit
  289. ----
  290. * [mobile] pc/pc master init
  291. + [pc] pc re-reedit
  292. + [pc^] pc reedit
  293. + [pc~2] pc edit
  294. + [pc~3] pc/pc init
  295. + [master] master reedit
  296. + [master-dev] master-dev reedit
  297. + [master-dev^] master-dev edit
  298. ++ [master^] master edit
  299. ++ [master~2] master branch init
  300. F:\Demo\D11>git tree --all
  301. WARNING: terminal is not fully functional
  302. * a94d110 (HEAD, mobile) pc/pc master init
  303. * 1d24c39 (pc) pc re-reedit
  304. * 2fd85bf pc reedit
  305. * d1f98d3 pc edit
  306. * 3e176c6 pc/pc init
  307. * b79efa5 (master) master reedit
  308. | * 67cec74 (master-dev) master-dev reedit
  309. | * 67837dd master-dev edit
  310. |/
  311. * 60197ce master edit
  312. * 3ae67eb master branch init
  313. F:\Demo\D11>git show-branch
  314. ! [master] master reedit
  315. ! [master-dev] master-dev reedit
  316. * [mobile] pc/pc master init
  317. ! [pc] pc re-reedit
  318. ----
  319. * [mobile] pc/pc master init
  320. + [pc] pc re-reedit
  321. + [pc^] pc reedit
  322. + [pc~2] pc edit
  323. + [pc~3] pc/pc init
  324. + [master] master reedit
  325. + [master-dev] master-dev reedit
  326. + [master-dev^] master-dev edit
  327. ++ [master^] master edit
  328. ++ [master~2] master branch init
  329.  
  330. F:\Demo\D11>git commit -a -m "mobile edit"
  331. [mobile de5452e] mobile edit
  332. 1 file changed, 3 insertions(+), 1 deletion(-)
  333. F:\Demo\D11>git commit -a -m "mobile re-edit"
  334. [mobile 70dc006] mobile re-edit
  335. 1 file changed, 3 insertions(+), 1 deletion(-)
  336. F:\Demo\D11>git show-branch
  337. ! [master] master reedit
  338. ! [master-dev] master-dev reedit
  339. * [mobile] mobile re-edit
  340. ! [pc] pc re-reedit
  341. ----
  342. * [mobile] mobile re-edit
  343. * [mobile^] mobile edit
  344. * [mobile~2] pc/pc master init
  345. + [pc] pc re-reedit
  346. + [pc^] pc reedit
  347. + [pc~2] pc edit
  348. + [pc~3] pc/pc init
  349. + [master] master reedit
  350. + [master-dev] master-dev reedit
  351. + [master-dev^] master-dev edit
  352. ++ [master^] master edit
  353. ++ [master~2] master branch init
  354. F:\Demo\D11>
  355. F:\Demo\D11>git tree --all
  356. WARNING: terminal is not fully functional
  357. * 70dc006 (HEAD, mobile) mobile re-edit
  358. * de5452e mobile edit
  359. * a94d110 pc/pc master init
  360. * 1d24c39 (pc) pc re-reedit
  361. * 2fd85bf pc reedit
  362. * d1f98d3 pc edit
  363. * 3e176c6 pc/pc init
  364. * b79efa5 (master) master reedit
  365. | * 67cec74 (master-dev) master-dev reedit
  366. | * 67837dd master-dev edit
  367. |/
  368. * 60197ce master edit
  369. * 3ae67eb master branch init
  370. F:\Demo\D11>git checkout "master-dev"
  371. Switched to branch 'master-dev'
  372.  
  373. F:\Demo\D11>git commit -a -m "master-dev re-reedit"
  374. [master-dev 1c57e77] master-dev re-reedit
  375. 1 file changed, 2 insertions(+)
  376. F:\Demo\D11>git show-branch
  377. ! [master] master reedit
  378. * [master-dev] master-dev re-reedit
  379. ! [mobile] mobile re-edit
  380. ! [pc] pc re-reedit
  381. ----
  382. * [master-dev] master-dev re-reedit
  383. * [master-dev^] master-dev reedit
  384. * [master-dev~2] master-dev edit
  385. + [mobile] mobile re-edit
  386. + [mobile^] mobile edit
  387. + [mobile~2] pc/pc master init
  388. + [pc] pc re-reedit
  389. + [pc^] pc reedit
  390. + [pc~2] pc edit
  391. + [pc~3] pc/pc init
  392. + [master] master reedit
  393. +* [master-dev~3] master edit
  394. +* [master-dev~4] master branch init
  395. F:\Demo\D11>git tree --all
  396. WARNING: terminal is not fully functional
  397. * 1c57e77 (HEAD, master-dev) master-dev re-reedit
  398. * 67cec74 master-dev reedit
  399. * 67837dd master-dev edit
  400. | * 70dc006 (mobile) mobile re-edit
  401. | * de5452e mobile edit
  402. | * a94d110 pc/pc master init
  403. | * 1d24c39 (pc) pc re-reedit
  404. | * 2fd85bf pc reedit
  405. | * d1f98d3 pc edit
  406. | * 3e176c6 pc/pc init
  407. | * b79efa5 (master) master reedit
  408. |/
  409. * 60197ce master edit
  410. * 3ae67eb master branch init
  411. F:\Demo\D11>git checkout master
  412. Switched to branch 'master'
  413. F:\Demo\D11>git commit -a -m "master re-reedit"
  414. [master a0a0f1a] master re-reedit
  415. 1 file changed, 3 insertions(+), 1 deletion(-)
  416. F:\Demo\D11>git show-branch
  417. * [master] master re-reedit
  418. ! [master-dev] master-dev re-reedit
  419. ! [mobile] mobile re-edit
  420. ! [pc] pc re-reedit
  421. ----
  422. * [master] master re-reedit
  423. * [master^] master reedit
  424. + [master-dev] master-dev re-reedit
  425. + [master-dev^] master-dev reedit
  426. + [master-dev~2] master-dev edit
  427. *+ [master~2] master edit
  428. *+ [master~3] master branch init
  429. + [mobile] mobile re-edit
  430. + [mobile^] mobile edit
  431. + [mobile~2] pc/pc master init
  432. + [pc] pc re-reedit
  433. + [pc^] pc reedit
  434. + [pc~2] pc edit
  435. + [pc~3] pc/pc init
  436. F:\Demo\D11>git tree --all
  437. WARNING: terminal is not fully functional
  438. * a0a0f1a (HEAD, master) master re-reedit
  439. * b79efa5 master reedit
  440. | * 1c57e77 (master-dev) master-dev re-reedit
  441. | * 67cec74 master-dev reedit
  442. | * 67837dd master-dev edit
  443. |/
  444. * 60197ce master edit
  445. * 3ae67eb master branch init
  446. * 70dc006 (mobile) mobile re-edit
  447. * de5452e mobile edit
  448. * a94d110 pc/pc master init
  449. * 1d24c39 (pc) pc re-reedit
  450. * 2fd85bf pc reedit
  451. * d1f98d3 pc edit
  452. * 3e176c6 pc/pc init
  453. F:\Demo\D11>git checkout pc
  454. Deletion of directory 'master' failed. Should I try again? (y/n) n
  455. Switched to branch 'pc'
  456. F:\Demo\D11>git status
  457. On branch pc
  458. nothing to commit, working directory clean
  459.  
  460. F:\Demo\D11>git commit -a -m "pc re-re-reedit"
  461. [pc 0f657c0] pc re-re-reedit
  462. 1 file changed, 3 insertions(+), 1 deletion(-)
  463. F:\Demo\D11>git show-branch
  464. ! [master] master re-reedit
  465. ! [master-dev] master-dev re-reedit
  466. ! [mobile] mobile re-edit
  467. * [pc] pc re-re-reedit
  468. ----
  469. * [pc] pc re-re-reedit
  470. * [pc^] pc re-reedit
  471. * [pc~2] pc reedit
  472. * [pc~3] pc edit
  473. * [pc~4] pc/pc init
  474. + [master] master re-reedit
  475. + [master^] master reedit
  476. + [master-dev] master-dev re-reedit
  477. + [master-dev^] master-dev reedit
  478. + [master-dev~2] master-dev edit
  479. ++ [master~2] master edit
  480. ++ [master~3] master branch init
  481. + [mobile] mobile re-edit
  482. + [mobile^] mobile edit
  483. + [mobile~2] pc/pc master init
  484. F:\Demo\D11>git tree --all
  485. WARNING: terminal is not fully functional
  486. * 0f657c0 (HEAD, pc) pc re-re-reedit
  487. * 1d24c39 pc re-reedit
  488. * 2fd85bf pc reedit
  489. * d1f98d3 pc edit
  490. * 3e176c6 pc/pc init
  491. * a0a0f1a (master) master re-reedit
  492. * b79efa5 master reedit
  493. | * 1c57e77 (master-dev) master-dev re-reedit
  494. | * 67cec74 master-dev reedit
  495. | * 67837dd master-dev edit
  496. |/
  497. * 60197ce master edit
  498. * 3ae67eb master branch init
  499. * 70dc006 (mobile) mobile re-edit
  500. * de5452e mobile edit
  501. * a94d110 pc/pc master init
  502. F:\Demo\D11>git checkout "master-dev"
  503. Deletion of directory 'pc' failed. Should I try again? (y/n) n
  504. Switched to branch 'master-dev'
  505. F:\Demo\D11>git commit -a -m "master-dev re-re-reedit"
  506. [master-dev a6be472] master-dev re-re-reedit
  507. 1 file changed, 1 insertion(+)
  508. F:\Demo\D11>git show-branch
  509. ! [master] master re-reedit
  510. * [master-dev] master-dev re-re-reedit
  511. ! [mobile] mobile re-edit
  512. ! [pc] pc re-re-reedit
  513. ----
  514. * [master-dev] master-dev re-re-reedit
  515. * [master-dev^] master-dev re-reedit
  516. * [master-dev~2] master-dev reedit
  517. * [master-dev~3] master-dev edit
  518. + [pc] pc re-re-reedit
  519. + [pc^] pc re-reedit
  520. + [pc~2] pc reedit
  521. + [pc~3] pc edit
  522. + [pc~4] pc/pc init
  523. + [master] master re-reedit
  524. + [master^] master reedit
  525. +* [master-dev~4] master edit
  526. +* [master-dev~5] master branch init
  527. + [mobile] mobile re-edit
  528. + [mobile^] mobile edit
  529. + [mobile~2] pc/pc master init
  530. F:\Demo\D11>git tree --all
  531. WARNING: terminal is not fully functional
  532. * a6be472 (HEAD, master-dev) master-dev re-re-reedit
  533. * 1c57e77 master-dev re-reedit
  534. * 67cec74 master-dev reedit
  535. * 67837dd master-dev edit
  536. | * 0f657c0 (pc) pc re-re-reedit
  537. | * 1d24c39 pc re-reedit
  538. | * 2fd85bf pc reedit
  539. | * d1f98d3 pc edit
  540. | * 3e176c6 pc/pc init
  541. | * a0a0f1a (master) master re-reedit
  542. | * b79efa5 master reedit
  543. |/
  544. * 60197ce master edit
  545. * 3ae67eb master branch init
  546. * 70dc006 (mobile) mobile re-edit
  547. * de5452e mobile edit
  548. * a94d110 pc/pc master init
  549. F:\Demo\D11>git checkout pc
  550. Already on 'pc'
  551. F:\Demo\D11>git commit -a -m "pc re-re-re-reedit"
  552. [pc f906c94] pc re-re-re-reedit
  553. 1 file changed, 3 insertions(+), 1 deletion(-)
  554. F:\Demo\D11>

  

 
参考:
        git show-branch输出

Git 以分支的方式同时管理多个项目的更多相关文章

  1. git 利用分支概念实现一个仓库管理两个项目

    需求描述:开发了一个网站,上线之际,突然另一个客户说也想要个一样的网站,但网站的logo和内部展示图片需要替换一下,也就是说大部分的后台业务逻辑代码都是一致的,以后升级时功能也要保持一致:刚开始想反正 ...

  2. git branch 分支

    几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系统中,这是一个略微低效的过程——常常需要完全创建一个源代码目录的副 ...

  3. 第二篇:版本控制git之分支

    有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处理分支的方式可谓是难以置信的轻量, ...

  4. 使用git新建分支以及管理分支

    在进行分支相关的操作前, 我们需要保持主分支干净, 所谓的干净就是没有任何改变(所有更改都已经commit 并 push),那么你可以在任何时候从你的主分支创建一个新分支. 为了方便代码管理,我们应该 ...

  5. Git的分支管理

    0.引言 本文参考最后的几篇文章,将git的分支管理整理如下.学习git的分支管理将可以版本进行灵活有效的控制. 1.如何建立与合并分支 1.1分支的新建与合并指令 新建分支 newBranch,并进 ...

  6. Git Flow 分支管理简述

    概述 Git 是什么 Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的 ...

  7. git的使用学习(五)git的分支管理

    分支管理 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平 ...

  8. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

  9. git(二) 分支管理

    概念 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干扰,那对现在的你也没啥影响.不过,在某个时间点,两个平行宇 ...

随机推荐

  1. 【原】用IDEA远程Debug Tomcat服务

    [环境参数] Web容器:Tomcat 8.0 IDE:IDEA 2018.1.5 [具体步骤] 1.配置Tomcat容器参数 编辑$CATALINA_HOME/bin/catalina.sh脚本,加 ...

  2. Revit API根据参数类型取得参数的值

    参数的类型string与int取得的方法有所不同,可以封装成一个函数. //得到参数的值 public static string GetParamVal(Document doc, Paramete ...

  3. WinForm多线程实现HTTP网络检测工具

    一.背景描述与课程介绍 明人不说暗话,跟着阿笨一起玩WinForm.本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的一部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高 ...

  4. TextAppearance.Material.Widget.Button.Inverse,Widget.Material.Button.Colored

    编译xamarin android项目报错: android:TextAppearance.Material.Widget.Button.Inverse android:Widget.Material ...

  5. C#写的COM组件注册问题兼论微软Regasm注册的BUG

    工作中自己用C#写了专门读写EXCEL(不需要OFFICE环境,直接读原始文件,速度快)的COM组件,在使用过程中,发现原先的注册程序是有问题的.网上也有同样的网友碰到这个问题,但都没找到合适的解决办 ...

  6. MSSQL、MySQL 数据库删除大批量千万级百万级数据的优化

    原文:https://blog.csdn.net/songyanjun2011/article/details/7308414 SQL Server上面删除1.6亿条记录,不能用Truncate(因为 ...

  7. C#编程(四十九)----------队列

    队列 1.Queue定义 System.Collections.Queue类表示对象的先进先出集合,存储在Queue(队列)中的对象在一端插入,从另一端移除. 2.优点 (1).能对集合进行顺序处理( ...

  8. spring 5.0.1.RELEASE官方任然不支持velocity(平台升级)

    官方说明: Dear Spring community, It is my pleasure to announce that Spring Framework 5.0.1 is available ...

  9. Linux下怎么确定Nginx安装目录

    linux环境下,怎么确定nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  10. C#泛型委托Predicate、Action、Func

    Predicate Predicate泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素.通过查看源码发现 Pr ...