来自星星的码农 - 个人博客

来自星星的码农 - 个人博客

Git 全局设置
git config --global user.name "张三"
git config --global user.email "zhangsh@xmzsmail.com"
创建新版本库
git clone https://github.com/vuejs/vue.git
cd website-transaction-api
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
已存在的文件夹或 Git 仓库
cd existing_folder
git init
git remote add origin https://github.com/vuejs/vue.git
git add .
git commit
git push -u origin master
Git命令行使用
  • 远程仓库相关命令

    • 检出仓库
      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 <远程主机名> <远程分支名>:<本地分支名>
    • 推送远程仓库
      git push <远程主机名> <本地分支名>:<远程分支名>
  • 分支(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]
    git push origin test:master  // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
    git push origin test:test    // 提交本地test分支作为远程的test分支
    
    如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
    
    git push origin :test        // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心
  • 忽略一些文件、文件夹不提交

    touch .gitignore
  • 撤回上一次commit
       git reset --soft HEAD^
    HEAD^的意思是上一个版本,也可以写成HEAD1,如果你进行了2次commit,想都撤回,可以使用HEAD2