首先要在GitHub上创建好远程仓库,把README,LISCENCE,.gitignore三个文件在远程仓库初始化好。
然后在创建本地仓库,先要cd到自己的项目目录下,然后:
$ git init 在目录下创建了.git的隐藏文件
$ git status 发现该目录下所有待提交的文件
$ git config --global user.name "liuming9283"
$ git config --global user.email "463162960@qq.com"
$ git remote add origin git@github.com:liuming9283/Operation-Platform.git 相当于在.git的config中配置远程的用户名、邮箱和提交到哪个仓库中
$ git add * 这个*代表把当前文件下所有的文件先上传至本地缓存中
$ git commit -m "first commit" 把本地缓存中的代码提交
$ git log 查看提交日志,最好要与git status结合使用
$ git push origin master
$ git pull --rebase origin master 这里遇到了一个坑,首先,由于建好了远程仓库,所以远程仓库中的LICENSE、.gitignore和README在本地没有,所以需要先使用本条命令把远程仓库的内容pull到本地。其次,我在本地的仓库中,提前建好了一个README.md,这和远程仓库pull下来的README产生了冲突,需要git merge,但是没搞定,Google了一下,执行git rebase --continue,git提示我:
You must edit all merge conflicts and then
mark them as resolved using git add
于是,再次执行git add README.md,告知git已完成冲突解决,再次执行git rebase --continue,提示"Applying:README",此时,重新回到了master,(之前是master|REBASE 1/1 模式)。
$ git push -u origin master 向远程仓库提交成功。其他常用命令:
$ git checkout master 切换到Master分支
$ git merge --no-ff develop 对Develop分支进行合并$ git branch testing 在当前commit对象上新建一个分支testing,但并没有切换到新建分支
$ git branch (-a) 显示所有的分支信息,也包括远程的分支信息
$ git checkout -b new_feature -b参数创建了一个新的分支,并切换到这个分支,推荐在这个新的分支里面进行修改或增加文件
$ git branch -d new_feature -d参数删除new_feature分支$ git commit -a -m "commit messages" 如果有-a选项,代表git add把目录下的所有文件加入到暂存中,再提交;如果只是修改了一部分的文件,还是要先用git add 具体的文件名,再commit,此时就不需要-a选项了
git分支详解:http://blog.jobbole.com/25877/$ git fetch origin 同步远程服务器上的数据到本地。
$ git checkout --track origin/serverfix 跟踪远程分支serverfix
$ git push origin :serverfix 删除远程分支
$ git push [远程名] [本地分支]:[远程分支] 把本地分支推送到远程分支,并重命名$ git rm -r --cached "路径名+文件” 删除远程仓库中的某一文件或目录,注意,之后两步也是必要的:
$ git commit -m "delect ........"
$ git push