Skip to content

Latest commit

 

History

History
executable file
·
89 lines (62 loc) · 3.15 KB

GitBasicManual.md

File metadata and controls

executable file
·
89 lines (62 loc) · 3.15 KB

创建版本库

  • $ gitt clone <url> #克隆远程版本库
  • $ git init #初始化本地版本库

修改和提交

  • $ git status #查看状态
  • $ git diff #查看变更内容
  • $ git add . #跟踪所有改动过的文件
  • $ git add <file> #跟踪指定的文件
  • $ git mv <old> <new> #文件改名
  • $ git rm <file> #删除文件
  • $ git rm --cached <file> #停止跟踪文件但不删除
  • $ git commit -m “commit message” #提交所有更新过的文件
  • $ git commit --amend #修改最后一次提交

查看提交历史

  • $ git log #查看提交历史
  • $ git log -p <file> #查看指定文件的提交历史
  • $ git blame <file> #以列表方式查看指定文件的提交历史

撤消

  • $ git reset --hard HEAD #撤消工作目录中所有未提交文件的修改内容
  • $ git checkout HEAD <file> #撤消指定的未提交文件的修改内容
  • $ git revert <commit> #撤消指定的提交

分支与标签

  • $ git branch #显示所有本地分支
  • $ git checkout <branch/tag> #切换到指定分支或标签
  • $ git branch <new-branch> #创建新分支
  • $ git branch -d <branch> #删除本地分支
  • $ git tag #列出所有本地标签
  • $ git tag <tagname> #基于最新提交创建标签
  • $ git tag -d <tagname> #删除标签

合并与衍合

  • $ git merge <branch> #合并指定分支到当前分支
  • $ git rebase <branch> #衍合指定分支到当前分支

远程操作

  • $ git remote -v #查看远程版本库信息
  • $ git remote show <remote> #查看指定远程版本库信息
  • $ git remote add <remote> <url> #添加远程版本库
  • $ git fetch <remote> #从远程库获取代码
  • $ git pull <remote> <branch> #下载代码及快速合并
  • $ git push <remote> <branch> #上传代码及快速合并
  • $ git push <remote> :<branch/tag-name> #删除远程分支或标签
  • $ git push --tags #上传所有标签

派生项目与上游代码库保持同步

  1. 在 Fork 的代码库中添加上游代码库的 remote 源,(操作一次就可以,以后不必每次添加)
    git remote add upstream git://gitcafe.com/username/upstream

    upstream 表示上游代码库名称

  2. 本地修改和提交 (commit)

  3. 在每次 Pull Request 前做如下操作,即可实现和上游版本库的同步。

  • git remote update upstream
  • git rebase upstream/master

如果不是 master 分支,请把 master 改为相应的分支名, 同时在 rebase 前用 git checkout 命令切换到相应的本地分支

  1. Push 代码到 GitCafe git push

复制版本库

  1. 从原地址克隆一份裸版本库,当然你也可以把托管于其它 git 服务器上的版本库克隆下来
    git clone --bare git://github.com/username/project.git

  2. 然后到 Github 服务器上创建一个新项目

  3. 以镜像推送的方式上传代码到 Github 服务器上
    cd project.git
    git push --mirror git@github.com/username/newproject.git

  4. 删除本地代码
    cd ..
    rm -rf project.git