Git初始化过程
环境准备
到官网下载Git客户端。官网地址:https://git-scm.com。在官网找到对应的系统下载对应的版本,在本地安装即可。
配置用户信息
用户信息需要与在Github或者Coding.NET以及其他Git服务器上的用户名和邮箱相同。
执行如下命令:
git config --global user.name "username"
git config --global user.email "username@email.com"
生成SSH公钥
通过生成SSH公钥并加入到git,从而保证每个人都能够方便地建立与git的可信任连接,只要将本机的ssh公钥添加到git即可。
生成ssh的方法如下:
ssh-keygen -t rsa -C "twjf1986@163.com"
执行过程中可以一直按“回车”键,也可以输入你指定的密码。执行完成后,根据提示,到对应的获取公钥信息。例如我的位置在/root/.ssh
。
cat /root/.ssh/id_rsa.pub
配置公钥信息
Git服务器都需要公钥认证,例如Coding.net需要填写你的公钥,如下图:
在pull或push过程中要求输入账号密码
解决方法:
git config --global credential.helper store
然后在执行下一次的push
或者pull
时,再输入一次用户名密码即可。
新建本地项目
创建项目目录
在本地创建项目目录,例如在D盘中创建Project目录。创建完成后,进入下一步初始化代码仓库。
初始化代码仓库
通过命令行进入D:\Project目录,执行如下命令:
git init
远程项目克隆到本地
在项目目录下执行如下命令:
git clone [url]
创建.gitignore文件
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为.gitignore的文件,列出要忽略的文件模式。
touch .gitignore
vi .gitignore
输入要忽略的文件类型即可。
上传.gitignore文件
git add .gitignore
git commit -m "add ignore file config"
git push
.gitignore文件说明
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以创建一个名为.gitignore的文件,列出要忽略的文件模式。 来看一个实际的例子:
$ cat .gitignore
*.[oa]
*~
第一行告诉 Git 忽略所有以.o或.a结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的。 第二行告诉 Git 忽略所有以波浪符(~)结尾的文件,许多文本编辑软件(比如 Emacs)都用这样的文件名保存副本。 此外,你可能还需要忽略 log,tmp 或者 pid 目录,以及自动生成的文档等等。
要养成一开始就设置好 .gitignore 文件的习惯,以免将来误提交这类无用的文件。
文件.gitignore的格式规范
-
所有空行或者以#开头的行都会被 Git 忽略。
-
可以使用标准的 glob 模式匹配。
-
匹配模式可以以(/)开头防止递归。
-
匹配模式可以以(/)结尾指定目录。
-
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号*
匹配零个或多个任意字符;[abc]
匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号?
只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9]表示匹配所有 0 到 9 的数字)。 使用两个星号**
表示匹配任意中间目录,比如a/**/z
可以匹配a/z,a/b/z或 a/b/c/z
等。
我们再看一个 .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
GitHub 有一个十分详细的针对数十种项目及语言的.gitignore文件列表,你可以在https://github.com/github/gitignore找到它.