Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

git使用记录本地

$
0
0
作者:Sam(甄峰)  sam_code@hotmail.com

1. 提交:
提交记录,git仓库中保存的是您目录下所有文件的快照,就像是把整个目录复制,然后再粘贴一样,但比复制粘贴优雅的多。
git 希望提交记录尽可能的轻量,因此再每次进行提交时,它并不会盲目的复制整个目录,条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。
#git commit

以图为例:

仓库中有提交记录,初始提交记录C0和在它基础上修改的提交记录C1.

执行#git commit

生成一个新的提交记录C2. 它的父节点是C1.

2. 分支:
git的分支非常轻量,他们只是简单的指向某个提交记录。
建立分支并不会造成储存或内存上的开销。使用分支其实就相当于“基于这个提交以及它所有的父提交进行新的工作“。 它与commit协作,能够极大的降低维护成本。
#git branch

例如:
某厂商要建立创维和海尔两个分支,并在其上分别开发。

当前有C0和C1两个提交。
当前想在C1这个节点创建haier和skyworth两个分支。
#git branch haier
#git branch skyworth

可以看到,此处的节点并没有增加,这就是:"只是简单的指向某个提交记录"的意思。
main后面的* 表示当前所在分支是main.  所在分支是哪个,则commit就在哪个分支上。


现在我们往main分支提交一个节点
#git commit 

可以看到,因为当前所在分支是main. 所以提交后,新的节点是main的。 但haier和skyworth还停留在老节点上。如果要haier和skyworth上有新提交。需要首先切换当前分支。


#git checkout haier


可以看到,当前分支是haier。 现在commit,则在haier上提交了

#git commit



同样,可以切换当前分支为skyworth并提交:
#git checkout skyworth
#git commit




3. 分支合并:
要把分支合并进来,可以使用多种方式:
方法一:
#git merge
就可以把指定的branch_name 合并到当前分支了。

当前状态:


#git checkout -b bugFix
#git commit
#git checkout main
#git commit
#git merge bugFix

结果如下:



方法二:
#git rebase










 

Viewing all articles
Browse latest Browse all 158

Trending Articles