天天看点

GIT——基本操作

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
  file changed,  insertions(+)
 create mode  readme.txt
           

git add

命令有三种功能

1. 跟踪一个未被跟踪的文件

2. 把已跟踪的文件纳入暂存区

3. 合并时把有冲突的文件标记为已解决状态

另外,在修改文件后使用

git add

将文件纳入暂存区后,又修改了文件,此时,如果需要将最新修改的内容提交,需要再次使用

git add

命令将修改的文件纳入暂存区

3. 查看仓库/文件状态

描述:当有时候修改的文件太多,或者休假了一段时间后回来,已经忘记了自己的工作进程及项目文件的修改状态,可以使用以下命令查看

另外,

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. 提交更新

使用commit前需要将需要提交的修改使用

git add

命令加入暂存区

当忽略-m参数时,该命令会打开文本编辑器,用于输入此次提交的信息

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
  file changed,  deletion(-)
 delete mode  a.txt
           
Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),即

git rm

操作后的文件,不会再被git跟踪
git rm一般用于当你不小心把不想提交的文件加入到了暂存区,可以使用git rm将加入到暂存区的内容删除