创建版本库
- git init 把当前目录变成Git可以管理的仓库
- git add < file > 添加文件到暂存区,可多次添加
- git commit -m < message > 将暂存区的内容提交到当前分支
- git status 查看当前仓库状态
- git diff 查看修改内容
版本控制
- git reset --hard commit_id 跳转到指定版本,并且覆盖暂存区和工作目录
- git log 查看提交历史。
< --pretty=oneline >精简版
< --pretty=oneline --abbrev-commit > 查看分支的合并情况 - git reflog查看命令历史,以便确定回溯版本
- git checkout --file丢弃当前工作区的修改,让这个文件回到最近一次 git commit 或 git add 时的状态
- git reset HEAD < file > 当改乱了工作区某个文件的内容,还添加到了暂存区时使用。即把暂存区的修改回退到工作区
- git rm file 从版本库中删除该文件,后要 git commit
远程仓库
- git remote add origin 远程仓库地址 给远程仓库起个名字origin
- git push -u origin master第一次推送时使用,本地的master分支和远程的master分支关联起来,后续推送可使用 git push origin master
- git pull从远程抓取分支
- git remote -v 查看远程库信息
- git remote rm origin 解除了本地和远程的绑定关系
- git clone 远程仓库地址 克隆远程仓库代码
分支管理
- git branch 查看已有分支
- git branch < name > 创建分支
- git switch < name > 切换分支,同 git checkout < name >
- git switch -c < name > 创建+切换分支,同 git checkout -b < name >
- git merge < name > 合并某分支到当前分支
git merge < --no-ff > -m “版本名称” < name > 禁用Fast forward,使用普通模式合并,保留合并记录 - git branch -d < name > 删除分支
- git stash 把当前工作现场“储藏”起来,等以后恢复现场后继续工作
- git stash list 工作现场列表
- git cherry-pick < commit > 把bug提交的修改“复制”到当前分支
- git stash pop 回到工作现场,恢复的同时把stash内容也删了
- git branch -D < name > 强行一个没有被合并过的分支
- git branch --set-upstream-to < branch-name > origin/< branch-name > 当 git pull 提示 no tracking information时,用于建立本地分支和远程分支的链接关系
- git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支
标签管理
- git tag < tagname > 用于新建一个标签,默认为HEAD,也可以指定一个commit id
- git tag -a < tagname > -m “标签信息” 指定标签信息
- git tag 查看所有标签
- git tag -d < tagname > 删除一个本地标签
- git push origin < tagname > 推送一个本地标签到远程
- git push origin --tags推送全部未推送过的本地标签到远程
- git push origin --delete tag < tagname > 删除一个远程标签