[教程指导]Git 简易教程
w3cvip发布于2 年前 • 983 次阅读
Git 


-
git是先进的分布式版本控制系统
-
命令行输入git,会提示安装命令
-
git clone
- 克隆项目到本地,后面跟项目地址
-
git branch dev
- 新开分支,dev是新分支名字
-
git checkout dev
- 切换到分支dev
-
git checkout -b dev
- 新建分支dev并切换到新分支
-
git push origin dev
- 提交新分支到远程
-
git status
- 查看项目状态
-
git add fileName
- 将修改添加到仓库, fileName为需要添加的文件名,使用git add .表示所有修改都添加
-
git commit -m"description"
- 将修改提交到仓库,description为本次提交的描述
-
git push
- 将仓库的内容提交到远程
-
git pull
- 拉取远程修改
-
git log
- 查看git历史版本log,会显示commit的id,描述,提交时间,提交人(不能查看已删除的commit id)
- git reflog
- 查看所有操作记录,包括删除的commit id
- git diff logId
- 比较当前版本与历史版本区别, logId为 git log 命令查出来的log的id,不需要输入完整,只需要输入前几位就可以
-
git branch -d dev
- 删除本地分支
-
git push origin :dev
- 删除远程分支
-
git branch -p
- 同步分支
-
git merge dev
- 合并dev分支到当前分支(然后执行git status命令查看是否有冲突)
-
git reset --hard
- 回退到某一个版本,后面加commit id,之后执行git push -f提交
-
git revert
- 取消某一次的提交,后面加要取消的commit id
submodule
-
submodule是在一个git项目里面引用其他的git项目,引用的项目为子项目
-
git submodule add
- 后面跟子项目地址,在git项目里面对应目录下执行,将子项目克隆到当前目录下,
-
git submodule update
-
克隆一个含有子项目的项目:
- git clone 项目 https 地址
- git submodule init
- git submodule update
-
克隆项目(同时拉取submodule中的内容,效果和上面3个命令一样):git clone --recursive
参考文档
后续更新
-----------------------------------------------------2018-6-30 git stash--------------------------------------------------------------------
-
当在一个分支上做了修改,但是准备提交时,打算换一个新的分支时:可以将现在修改过的东西暂存起来,然后切换新分支,再找回刚刚暂存起来的东西,操作步骤:
-
git stash git checkout -b <new branch> git stash apply
- 这时候新建的分支就有刚刚修改的内容了,然后再提交到远程
## 持续更新
git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:
- 新建目录,假设是codework
- cd codework
- git clone http://xxxxx.com/project.git ,这样在codework目录下得到一个project子目录
- cd project
- git branch -a,列出所有分支名称如下:
```bash
remotes/origin/dev
remotes/origin/release
- git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
- git checkout -b release origin/release,作用参见上一步解释
- git checkout dev,切换回dev分支,并开始开发。
新建分支
git checkout master
git checkout -b dev
git add *
git commit -m "init dev"
git push origin dev