git
文件版本工具
git init
初始化---只执行一次------以下是个常态
git status
查看状态
git add . || *.js
把文件放到暂存区
git commit -m '备注,这次修改了哪了,'
提交到本地版本库
(可以简写)
git commit -a -m "备注"
上面的完事之后 git status 一下
gitk
查看日志
history
查看历史
git remote add origin git@github.co.git
关联远程仓库
创建本地dev关联远程分支sss:git checkout -b dev origin/sss
git push origin master
把本地代码提交到远程仓库
git clone git@github.com:xia.git ‘名字’
克隆
git clone -b devs git@github.com
克隆指定分支devs代码
git pull origin master
拉
git pull origin name
拉取指定分支代码
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
克隆指定分支代码:git clone -b 分支名仓库地址
删除分支:git branch -d <name>
提交到分支dev: git push origin HEAD:refs/for/dev
查看用户名配置:git config user.name
查看邮箱配置:git config user.email
修改用户名配置:git config --global user.name "username"
修改邮箱配置:git config --global user.email "email"
拉取部分代码:
//下面以克隆开源项目[druid](https://github.com/alibaba/druid)下的/druid/doc目录为例。
$ mkdir druid // 创建目录druid
$ cd druid //进入目录druid
$ git init // 初始化 git 空仓库
$ git remote add -f origin https://github.com/ruid.git // 关联远程地址 ,这一步不要终止执行,不然下面操作无效
$ git config core.sparsecheckout true // 开启Sparse Checkout模式
$ echo "doc" >> .git/info/sparse-checkout // 设置需Check Out的文件。直接从项目目录下开始
$ git pull origin master // Check Out //拉
在多人协作开发时,经常碰到同事把最新修改推送到远程库,你在本地也做了修改,这个时候无论是执行git pull还是执行git push都会提示错误,我的解决方式如下:
先隐藏掉本地的修改,然后执行git pull从代码块拉取最新代码,具体步骤如下:
1.输入 git status 查看本地的修改
2.输入git stash 隐藏掉本地修改
3.输入 git pull 从代码库拉取更新
4.输入 git stash pop stash@{版本号}
5.然后再git add git commit git push 就行了
另外,还有一种情况,因为自己粗心,在git push之前并没有看代码库的提交记录,导致同事做了修改我不知道,但是我已经执行了git add 和 git commit 这个时候怎么撤销掉git commit 呢?我采用的解决方式如下:
1.先复制你本地的项目到另外一个文件夹
2.输入 git log 查看commit日志,找到最新的提交的commit_id
3.输入git reset - -hard commit_id
4.再把刚才的项目复制过来
5.执行 上面的2 3 4 步骤就可以了
另外需要注意的问题,当我们git pull 时发现本地的修改和远程代码库的修改有冲突,该怎么解决呢?
这个时候,我们可以根据提示来找到冲突的位置,其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashedchanges之间的内容就是本地修改的内容,需要我们手动进行确认需要怎么合并