安装git
使用下面命令查看是否安装成功 git --version
设置用户名密码:
git config --global user.name "Your Name" git config --global user.email "email@example.com"
这里随便填,相当与注册账户,git config命令的--global参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
创建git仓库: 创建一个文件夹,进行初始化 mkdir studygit cd studygit git init
提示Initialized empty Git repository in /Users/zcjlq/studygit/.git/,说明仓库创建成功。
注1:确保文件路径不包含中文名; 注2:初始化后,当前目录产生.git文件夹,里面包含初始设置,不建议修改
将文件加到版本控制:
在此文件夹,创建一个文件file1.txt,输入一些内容,使用下面命名加入版本控制内 git add file1.txt
提交文件,加注释是很好的习惯,方便大家看到修改内容 git commit -m "first file commit"
注1:git add是将文件加入到版本控制,可以同时添加多个,执行后,文件存储到暂存区,如果此时没有提交,又进行了修改,需要再次git add 到暂存区,否则提交的是修改前的。 注2:git commit 是提交到版本控制,-m参数为注释内容,执行命令后,文件将从暂存区转移到git分支上。
git add详解
查看工作目录和暂存区的状态 git status
输出内容如下: On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage)
modified: hello.py
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory)
modified: main.py
Untracked files: (use "git add <file>..." to include in what will be committed)
hello.pyc
注1:branch master显示当前在主分支 注2:状态有四种 Changes to be committed:修改后已加入暂存区(stage)待提交,即执行了git add 但没有commit Changes not staged for commit:修改未加入暂存区,没有git add,也没有commit Untracked files:没有被git管理的文件 clean: 工作区是干净的,没有上面三种文件
忽略某些文件 如果有些文件不需要git管理,比如编译后的class文件,idea自动生成的iml文件,按以下步骤编辑忽略规则 touch .gitignore
生成.gitignore文件 vi .gitignore
编辑文件,规则如下: 1./ 表示目录 比如/A/就表示忽略A目录下所有内容 2. 表示匹配多个字符 上面忽略A目录下所有内容使用的就是*,忽略iml结尾的文件即使用*.iml 3.[]表示匹配多个单个字符 [abc]就是代表a、b、c中任何一个字符即可 4.! 表示跟踪某类文件 比如 /,!.c,表示忽略所有文件,但是跟踪.c结尾的文件,这样.c结尾的文件就不会被忽略了
比如java中target文件夹不需要git管理,使用/target/*即可 在添加了.gitignore文件前,上传了忽略文件,要想删除远程仓库中的文件却想保存本地的文件,不可以直接使用git rm directory,这样会删除本地仓库的文件。 可以使用git rm -r --cached directory
来删除缓冲,然后进行commit和push,以后可以直接使用git add -A来添加修改的内容,上传的文件就会受到.gitignore文件的内容约束。 github官方给出了一些语言的忽略文件参考
时间不足,后续补充