Git 命令行初探

1. 克隆仓库

git clone https://fish_ball@bitbucket.org/fish_ball/test.git

2. 添加文件

git add .

3. commit

git commit .

敲了这句之后会弹出一个 Vim 编辑文本,需要修改这个文件,在里面填入提交信息,然后 :wq 退出,就可以完成 commit 的动作。

4. push

git push origin master:master

这样就提交了当前的 commit.

5. 创建远程分支

# 这里通过本地的 master 分支创建一个远程 first 分支
git push origin master:first
# 再创建一个 second 分支
git push origin master:second

6. 切换本地分支(checkout)

git checkout first

其实,本地分支和远程分支可以交叉同步,在本地也可以同时在多个分支上面进行工作切换。

如果我们在本地 checkout 到另一个分支,当前分支的变动就会保存下来,然后变成另一个分支的状态,在下面的实验中,我尝试了这一点:

刚才我们创建了一个 first 分支以及一个 second 分支,然后 checkout 到了 first 分支。

现在我们在 first 分支下面编辑一个新的文件:

<?php
// first.php
echo "This is the first file from the first branch.";
?>

然后 checkout 到 second 分支:

git checkout second 

现在再看一下,新创建的 first.php 不见了(因为它只存在于 first 分支当中)

那么现在我们在 second 分支下面创建一个 second.php

<?php
// second.php
echo "This is the second file from the second branch.";
?>

然后 checkout 到 first 分支,会发现 first.php 又出来了,但是 second.php 又不见了。

再试试 checkout 到 master 分支,发现 first.php 和 second.php 同时不见了。

然后我们可以把这两个分支都 commit 而且 push 到远程分支上面去:

git checkout first
git add .
git commit .
git checkout second
git add .
git commit .

git push origin first:first
git push origin second:second

这样就可以在远程上面看到这两个已经同步的分支了。


7. 合并分支

目前,first 和 second 分支分别领先 master 分支一个提交,我们可以将 first 分之和 second 分支合并到 master 分支上面来。

git checkout master
git merge first
git merge second
git commit -a
git push origin master:master

注意,这时候如果 first 和 second 分支有冲突(都对同一个文件做出了修改),那么在 merge second 的时候,有冲突的文件就会同时出现两个文件的差异,这时候需要手动编辑这些冲突的文件,最后来 git commit -a 一下,完成手动合并。

如果是没有冲突,那么在 merge first 和 merge second 的时候, 就会自动进行合并,不需要添加 git commit -a 这一个步骤。

然后 git push 到远端,就可以看到效果了。


初步的探索就到这里结束,至于从远端同步修改,暂时还没有过多的测试,后面再慢慢研究。


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2014/12/git-bash.html【Git 命令行初探】

发表评论

电子邮件地址不会被公开。 必填项已用*标注