批量处理冲突
git checkout --ours ./project/m-teach 该文件夹下的冲突 都采用我刚传入的 current
git checkout --theirs ./project/m-teach 该文件夹下的冲突都采用 别人的
设置别名
git config --global alias.psm "push origin master"
查看版本
git --version
初始化仓库
git init
克隆项目
git clone git://github.com/schacon/grit.git wangjun
拉取项目
git pull
查看文件状态 是否被追踪
git status
将未追踪变为暂存状态(添加到暂存区)待提交
git add wangjun.js
git add .
提交到版本库
git commit -m '提交描述'
设置git账号信息
git config --global user.name wjune211 告诉计算机我是谁
git config --global user.email wjune211@163.com
git config --list 查看配置信息
查看提交信息
git log
直接将工作区文件提交到版本库,跳过暂存
git commit -am
修改上次commit 与commit message’
git commit --amend
添加关联新的远程仓库
git remote add name <url>
创建分支
git branch (branchname)
切换分支
git checkout (branchname)
删除分支
//删除本地
git branch -d dev
//删除远程
git push origin -d dev
合并远程分支
//创建一个本地分支,并将远程分支放到该分支里面去
git checkout -b dev origin/dev
git pull origin dev
git checkout master
git merge dev
//同步到远程
git push origin master
查看远程git地址
git remote -v
一些回退操作-没有push我称为回退
丢弃工作区内容(还未add)
git checkout --<filename>
git checkout .
撤销暂存(已add,未commit)
git reset HEAD <filename>
git reset HEAD .
修改最后一次提交(不产生新的commit)
git add sample.txt
git commit --amend -m"说明"
查看commit id
git reflog
撤销到这次commit(git reset后三个参数代表不同程度的修改)
minxed(默认)-代码回到工作区
soft-代码回到暂存区
hard-丢弃代码
git reset --hard/--soft/--mixed <commit-id>
一些回滚操作-已经push
回滚场景比较复杂 大概使用 git reset / git revert命令
场景一:撤销提交
使用revert ,放弃指定提交,会产生一次新的commit,所以提交后本地代码不会落后于远端
撤销最近一次提交
git revert HEAD
撤销最近n次提交,0代表最近1次
git revert HEAD~(n-1)
撤销指定提交
要撤销一串提交可以用 commit1…commit2语法,前开后闭
git revert <commit1>...<commit2>
撤销后再push,会产生一次新的commit
场景二:回滚到到某次提交
使用reset,本地会落后于远端,需要强制提交
git reset --hard <commitid>
git push origin master -f