独立开发者的最大特点就是他们不需要和其他人来交换补丁,而且只在一个独立的固定的git仓库中工作。
下面这些命令将可以帮助你完成日常工作:
git-show-branch:可以显示你当前所在的分支以及提交记录。 git-log:显示提交日志 git-checkout或者git-branch:用于切换和创建分支 git-add:用于将修改内容加入到index文件中 git-diff和git-status:用于显示开发者所做的修改 git-commit:用于提交当前修改到git仓库。 git-reset和git-checkout:用于撤销某些修改 git-merge:用于合并两个分支 git-rebase:用于维护topic分支(此处我也不太懂,等完成git学习后转过头来会关注此问题) git-tag:用于标记标签。
git checkout 命令格式
1 git checkout [-q] [-f] [-m] [<branch>] 2 git checkout [-q] [-f] [-m] [-b <new_branch>] [<start_point>] 3 git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>…
git checkout 切换到这个分支上
git checkouot -b <new_branch>新建一个分支
git checkout v2.6.18 切换到v2.6.18这个tag的start_point上, 1.5以后的git支持
下面的代码切换到master分支,后退Makefile两个版本,错误的删除了 hello.c , 然后再从index恢复它.
1 $ git checkout master 2 $ git checkout master~2 Makefile 3 $ rm -f hello.c 4 $ git checkout -- hello.c
git branch 显示,新建和删除分支
命令格式:
1 git branch [--color | --no-color] [-r | -a] [-v [--abbrev=<length> | --no-abbrev]] [(--merged | --no-merged | --contains) [<commit>]] 2 git branch [--track | --no-track] [-l] [-f] <branchname> [<start-point>] 3 git branch (-m | -M) [<oldbranch>] <newbranch> git branch (-d | -D) [-r] <branchname>…
git branch ,不带任何参数就是显示所有的本地分支。 带上-r参数,表示显示远程分支。 -a表示远程分支和本地分支都要
git branch [] 创建一个新的分支,如果后面有star-point就从这个版本创建分支,否则就从当前版本创建分支。这个命令只是创建分支,并没有checkout到它, 就是你没有切换到这个分支,你还是需要执行git checkout 来切换到这个分支上。
例子:
从一个版本创建分支
1 $ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6 2 $ cd my2.6 3 $ git branch my2.6.14 v2.6.14 //前面一个参数是branch名,后面是指定的tag名,从这个版本创建分支 4 $ git checkout my2.6.14 //这两步可以合并为一步:"checkout -b my2.6.14 v2.6.14"
git add 命令用于把修改过的文件或者新的文件加入到index中
这个命令可以在commit前执行多次。 可以利用git status来查看那些文件被add到index中,下次commit的时候会提交。
例子:
添加所有目录Documentation(包括Documentation子目录)下的.txt文件
1 $ git add Documentation/\*.txt
添加所有git-*.sh脚本,子目录下的文件不会被add。 如subDir/git=foo.sh
1 $ git add git-*.sh