团队项目中需要用到Git,于是便花了点时间学着用这个强大的工具,由于是速成的,怕日后遗忘,这里就算是做个简单的笔记。
一、基本命令
git init 初始化当前的目录,让其归Git管理,会创建隐藏文件夹.Git
git add . 提交所有文件到缓存区(包含所有不为空的目录)
git add *.c 提交所有.c文件
git add file.ext 提交单个文件
git commit -m "message" 提交当前更改到HEAD
git commit -am "message" 仅提交修改,不包含新增的文件
git push origin master 推送到服务器主分支上
git pull origin master 从服务器获取并合并到本地分支
git fetch origin master 从服务器获取但不合并
git clone <url> 克隆到本地(所有分支)
git clone <url> -b <branchname> 克隆到本地(指定分支)
git status 查看项目状态
二、分支管理
git branch 查看分支
git branch name 创建分支
git checkout name 切换分支
git checkout -b name 创建+切换分支
git merge name 合并某分支到当前分支
git branch -d name 删除分支(本地)
git push origin :branch-name 删除分支(服务器),原理是把一个空分支push到server上,相当于删除该分支。
三、排除文件
某些文件是不需要git每次跟踪它的修改记录的。一般做法是在根目录中创建.gitignore文件,并添加要排除的文件或文件夹(路径)[支持正则表达式]。但是这个文件如果之前已经被git跟踪了,这样修改是没有用的。每次修改完以后,用git status还是能看到提示它被修改了。解决办法就是在git中删除这个文件的跟踪记录,用命令
git rm --cached filename.ext
这样就从git的跟踪记录中删除了这个文件的跟踪记录。配合之前在.gitignore加的那行配置,以后你修改project.iws 这个文件,git就不会有提示了。最后git commit -am "untracked" 提交修改。
四、密码管理
以http方式访问远端时,每次推送都会提示输入账户和密码,下面的命令可以让Git记住密码,不用每次都输入一次。注意使用后密码将以明文形式存储在.gitconfig文件中。
git config --global credential.helper store
git config --global user.name "username"
git config --global user.email "username@126.com"