初始化项目
1、git clone : 已有一个远程Git版本库,在本地克隆一份
例如:git clone git://github.com/someone/some_project.git some_project
2、git init 和 git remote:
当你本地创建了一个工作目录,你可以进入这个目录,使用'git init’命令进行初始化;Git以后就会对该目录下的文件进行版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录,并把可访问的URL记录下来,此时你就可以利用'git remote add'命令来增加一个远程服务器端,
例如:git remote add origin git://github.com/someone/another_project.git
git add . 添加到本地仓库
git commit -m ‘内容' 添加提交描述
git pull origin master 提交前先从远程仓库主分支中拉取请求
git push -u origin mastergit 把本地仓库代码提交
3、解决在项目已经添加到git上以后再添加gitignore文件进行文件过滤的步骤
1)首先为避免冲突先同步下远程仓库
$ git pull
2)在本地项目目录下清除缓存
$ git rm -r --cached .
3)新建.gitignore文件
在项目的根目录下面新建.gitignore文件并添加相应的过滤规则
4)再次Add所有文件
5)再次将项目中所有文件添加到本地仓库缓存中
$ git add .
6)再次添加commit
$ git commit -m "add ignore" 这次commit是为了说明添加ignore文件的。
7)最后提交到远程仓库
$ git push
二、项目中常用命令
1、远程仓库相关命令
检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push[name][newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
2、分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name]
如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。
$ git push origin test:master 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
$ git push origin test:test 提交本地test分支作为远程的test分支
$ git push origin :test 刚提交到远程的test将被删除,但是本地还会保存的,不用担心
3、版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
三、Git的缩写配置
Git中部分命令较长,拼写过程中容易出错,可根据自己的习惯进行缩写配置,从而提高效率。例如git st就表示git status,只需要敲一行命令,如下:
$ git config --global alias.st status
--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用,同理可配置其他命令,符合自己的习惯即可。