1.建立源文件中心bbb
2.进入bbb
3.git init(将bbb文件夹建立为仓库)
4.git status 【查看仓库状况】
$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

Administrator@sina-f7b39c64a6 ~/bbb

5.建立一些源文件以便增加
touch aaa;
touch ccc;
git add aaa ccc 【向仓库增加源文件】
 
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   aaa
#       new file:   ccc
#

6.修改提交
修改aaa  ccc后
git commit -a
会提示让你输入备注
$ git commit -a
[master (root-commit)]: created 4233e0e: "add line in aaa ccc"【这句就是输入的备注】
 2 files changed, 2 insertions(+), 0 deletions(-)
 create mode 100644 aaa
 create mode 100644 ccc

$ git status
# On branch master                           【当前我们处在master分支进行工作】
nothing to commit (working directory clean)  【现在没有需要提交的东西】

7.git log 显示提及日志
$ git log
commit 4233e0e3fe8b26714ea6ea7da825692fd5e44cb7
Author: U-SINA-F7B39C64A6/Administrator <Administrator@sina-f7b39c64a6.(none)>
Date:   Thu Jun 4 09:28:54 2009 +0800

    add line in aaa ccc
修改 aaa ccc 再次提交后查看日志
$ git commit -a
[master]: created e0e57bb: "add new"
 2 files changed, 2 insertions(+), 0 deletions(-)
 
$ git log
commit e0e57bb4de12f99f6908a84e47a8ba9f103ac0b3
Author: U-SINA-F7B39C64A6/Administrator <Administrator@sina-f7b39c64a6.(none)>
Date:   Thu Jun 4 09:39:10 2009 +0800

    add new

commit 4233e0e3fe8b26714ea6ea7da825692fd5e44cb7
Author: U-SINA-F7B39C64A6/Administrator <Administrator@sina-f7b39c64a6.(none)>
Date:   Thu Jun 4 09:28:54 2009 +0800

    add line in aaa ccc
8.查看老版本
$ git checkout 4233e0e3fe8b26714ea6ea7da825692fd5e44cb7
Note: moving to "4233e0e3fe8b26714ea6ea7da825692fd5e44cb7" which isn't a local b
ranch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b <new_branch_name>
HEAD is now at 4233e0e... add line in aaa ccc

Administrator@sina-f7b39c64a6 ~/bbb
$ cat aaa
allaa

Administrator@sina-f7b39c64a6 ~/bbb
$ cat ccc
caaacc



7.创建新的分支,一般需要将大函数拆分为几个文件,或者拆分为多个类时,我们创建一个分支来工作,这样如果没搞定我们就删除这个分支,还用原来的大函数。
git branch mybranch
8.查看分支
$ git branch
* master 【当前我们正处在的分支】
  mybranch 【我们刚刚创建的分支】
9.git checkout mybranch 【切换到我们创建的分支,进行工作】
$ git checkout mybranch
Switched to branch "mybranch"
$ git branch
  master
* mybranch 【我们在这个分支进行工作了】
10.git show-branch 显示分支日志
11.删除某个分支git branch -D mybranch
12.分支合并
进入分支master修改aaa后提交,进入mybranch后修改aaa后提交,然后
$ git merge master
Auto-merging aaa
CONFLICT (content): Merge conflict in aaa
Automatic merge failed; fix conflicts and then commit the result.
这是cygwin下的提示,在真实系统,会用diff比较两文件提示你进行修改,修改好后即可合并
13比较2个版本的不同
$ git log
commit 067059cc20db50a45dd626b79d8967a53a228d63
Author: U-SINA-F7B39C64A6/Administrator <Administrator@sina-f7b39c64a6.(none)>
Date:   Thu Jun 4 10:05:37 2009 +0800

    aa

commit 4233e0e3fe8b26714ea6ea7da825692fd5e44cb7
Author: U-SINA-F7B39C64A6/Administrator <Administrator@sina-f7b39c64a6.(none)>
Date:   Thu Jun 4 09:28:54 2009 +0800

    add line in aaa ccc

Administrator@sina-f7b39c64a6 ~/bbb
$ git diff 4233e0e3fe8b26714ea6ea7da825692fd5e44cb7
diff --git a/aaa b/aaa
index d4edaf2..9393f5b 100644
--- a/aaa
+++ b/aaa
@@ -1 +1,6 @@
+<<<<<<< HEAD:aaa
+aaallaa
+=======
 allaa
+ddddddd
+>>>>>>> master:aaa
diff --git a/ccc b/ccc
index a18aad7..fe51984 100644
--- a/ccc
+++ b/ccc
@@ -1 +1,2 @@
 caaacc
+dddddddddd
15导出源文件
touch -git/git-daemon-export-ok
git daemon --base-path=/usr/local/src/bbb

到另外的机器
git clone git://192.111.1.11/bbb
将代码下载回来

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐