Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  1. Remote: 远程主仓库;
  2. Repository: 本地仓库;
  3. Index: Git追踪树,暂存区;
  4. workspace: 本地工作区(即你编辑器的代码)

一、代码上传

(1)git init : 初始化git仓库

(2)git add —all / git add . 添加本地文件到暂存区

(3)git commit -m “你的注释” 添加本地文件到版本库

(4)git remote add origin https://git.coding.net/ckq/dianshang.git 添加远程仓库地址

(5)git push origin master 向远程仓库推送代码

二、代码下载

(1)直接克隆 :git clone https://git.coding.net/ckq/dianshang.git 克隆远程代码

(2)抓取 :

  • git init 初始化git仓库
  • git remote add origin https://git.coding.net/ckq/dianshang.git 添加远程仓库地址
  • git fetch origin master 抓取远程仓库代码(只有主支)
  • git merge origin/master 合并到本地仓库

三、分支管理

git checkout -b dev :创建一个名叫dev 的分支并切换到此分支

git branch 查看有几条分支

git checkout dev 切换到dev 分支

git branch -m oldname newname 更换分支名称

git merge dev 合并分支(要切换到要合并它的分支上,如 :master)

git branch -d dev 删除当前分支(强制删除:-D)

四、暂存(隐藏)当前分支

git stash 隐藏当前分支,相当于暂存

git stash list 列所有stash

git stash apply 恢复暂存的内容

git stash drop 删除暂存区

多人合作

情况一:本地没有项目,我想克隆一个(包括主分支和次分支)

(1)项目克隆:git clone ….

(2)建立次分支:git checkout -b dev origin/dev

(3)本地分支和远程分支进行连接:git branch —set-upstream-to origin/dev dev

情况二:本地没有项目,我只想抓取远程次分支

(1)建立一个本地库文件夹(最好与远程一致)

(2)初始化本地仓库:git init

(3)建立本地与远程之间的连接:git remote add origin https://git.coding.net/ckq/dianshang.git

(4)抓取次分支:git fetch origin dev

(5)合并到本地:git merge origin/dev

git checkout -b branch-name origin/branch-name : 在本地创建和远程分支对应的分支

git push origin branch-name : 可以试图推送自己的修改;

git pull : 如果推送失败,则因为远程分支比你的本地更新,需要先用试图合并

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch —set-upstream-to origin/dev dev。

五、版本回退

git reflog : 显示回退的id

git reset —hard commit-id 回到想要回退的版本

git reset —hard HEAD^^/git reset —hard HEAD~回退到上一个版本

git reset HEAD~5 撤销过去5个commit的命令,然后在添加提交

六、git tag

(1)查看本地分支标签:git tag 或者 git tag —list

(2)给当前分支打标签 git tag 《标签名》 例如 git tag v1.1.0

(3)删除本地某个tag git tag —delete v1.0.0 或者 git tag -d v1.0.0

(4)删除远程某个tag git push -d origin v1.0.0 或者 git push —delete origin v1.0.0

(5)将本地tag一次性推远程 git push origin —tags 或者 git push origin —tag 或者 git push —tags

(6)将本地某个特定标签推送到远程 git push origin v1.0.0

(7)查看某一个标签的提交信息 git show v1.0.0

七、其他命令

(1)git —version 查看当前git版本

(2)git help —all 查看git命令

(3)git diff 查看当前工作区域版本库有哪些区别,修改了什么内容

(4)git status 查看仓库当前状态

(5)git log 查看提交的历史记录

(6)git log —pretty=oneline 当前记录在一行显示

(7)git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录

(8)git pull 更新本地仓库

(9)git remote -v 查看远程信息库pull和fetch详细信息

(10)git branch -r查看远程分支

(11)git branch -a查看所有分支

(12)git push —force origin dev 强制推荐dev分支(rebase后的分支历史改变了,可能导致不兼容现象)

(13)git remote rm 删除远程仓库

(14)git remote show origin 查看远程仓库的信息