1. 创建一个本地版本库
git init dirpath
//也可以进入项目目录之后直接执行下面的命令
git init
2. 添加并提交文件到版本库
描述:在版本库的目录下创建一个新的文件(a.txt),然后执行以下命令:
$ git add a.txt
$ git commit -m "add new file"
[master (root-commit) cb926e7] add new file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
git add
命令有三种功能
1. 跟踪一个未被跟踪的文件
2. 把已跟踪的文件纳入暂存区
3. 合并时把有冲突的文件标记为已解决状态另外,在修改文件后使用
git add
将文件纳入暂存区后,又修改了文件,此时,如果需要将最新修改的内容提交,需要再次使用git add
命令将修改的文件纳入暂存区
3. 查看仓库/文件状态
描述:当有时候修改的文件太多,或者休假了一段时间后回来,已经忘记了自己的工作进程及项目文件的修改状态,可以使用以下命令查看
git status //查看仓库当前文件的状态
另外,
git status
命令还有更简洁的显示方式,使用-s参数
$ git status -s M README //M在右边,表示文件在工作区被修改了但是还没有将修改后的文件放入暂存区 MM Rakefile //表示文件在工作区被修改并提交到暂存区后又在工作区中被修改了 A lib/git.rb //表示新添加到暂存区中的文件 M lib/simplegit.rb //M在左边,表示该文件被修改了并放入了暂存区 ?? LICENSE.txt //表示该文件未被跟踪
4. 忽略文件.gitignore
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
5. 查看修改
git diff //查看未暂存的文件更新了哪些部分
git diff --staged //已暂存的将要添加到下次提交里的内容
可以使用git diff插件使结果看起来更人性化,使用
git difftool --tool-help
查看支持的插件
7. 提交更新
git commit [-m "commit massage"]
使用commit前需要将需要提交的修改使用
git add
命令加入暂存区当忽略-m参数时,该命令会打开文本编辑器,用于输入此次提交的信息
git commit -a
git commit加上-a参数可以跳过使用暂存区,即提交前不需要使用
git add
命令了
8. 删除文件
描述:当你在本地删了某个文件,git知道你删除了文件,那么就用git rm
命令确认删除,并使用git commit
提交
$ git rm a.txt
rm 'a.txt'
$ git commit -m "remove a.txt"
[master d17efd8] remove a.txt
1 file changed, 1 deletion(-)
delete mode 100644 a.txt
Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),即
git rm
操作后的文件,不会再被git跟踪
git rm --staged //仅删除暂存区中的内容
git rm一般用于当你不小心把不想提交的文件加入到了暂存区,可以使用git rm将加入到暂存区的内容删除