Git Common Command
git merge
和git rebase
的区别
1.两者都可以合并分支
2.区别是:merge
合并分支会产生很多merge的文件使代码管理看起来很乱,rebase
就是把多个commit合并成一个形成一条干净整洁的代码管理线
merge操作
1.切换分支到你要把谁合并到你的分支
1.然后命令:git merge branchName
rebase操作
1.切换到你想和谁(分支)保持一条线的分支
2.然后命令:git rebase -i 另一个分支名字
3.然后解决冲突,git add .
4.最后使用git rebase —continue
,如果有冲突继续解决,继续add
,直到结束
把dev分支通过rebase的方式合并过来,希望重建代码管理线
git pull —rebase dev
删除本地分支:git branch -d fixbug
删除远程分支:git push origin —delete fixbug
1.git强制下拉文件并覆盖本地
获取远程所有文件
git fetch —all
强制下拉远程origin的文件(以远程为主)
git reset —hard origin/master
1.git强制提交,忽略远程分支的代码,以本地为主
git push origin master —force
2.git回到某个hash
本地所有修改,没有提交的,都返回到原来的状态
git checkout
git checkout .
#本地所有修改的。没有的提交的,都返回到原来的状态
把所有没有提交的修改暂存到stash里面
git stash
恢复stash的暂存文件
git stash pop
返回到某个节点,不保留修改
git reset —hard HASH
返回到某个节点,保留修改
git reset —soft HASH
注意:HASH是commit的hash值,例如,3c3bf81
查看最近提交的历史记录,按q退出
git log
合并多个commit
注意:主分支不要用,在自己开发的分支上用就行
-
git rebase -i c35d8b2
-i 标识参数是不需要合并的 commit 的 hash 值,一般写前一个
2.进入vi编辑器,把多个分支的前面pick改成s或者squash,表示要合并的commit
esc, :wq 保存后
会要求输入合并commit的提交的message,在保存
3.然后多个commit合并成一个commit并且,需要强推到remote分支,因为remote分支以为本地就一个提交
删除文件
rm -r -f filename
rm -rf filename
git clean -f
移除该文件下与git有关的所有文件
git clean -fd
删除彻底一点,连untrack文件一起删除
git clean -xfd
创建一个分支
git branch mybranchname
查看分支
git branch
把项目文件推送到分支
git push origin mybranchname
git push origin :master
删除本地分支
git branch -d mybranchname
删除远程分支
git push origin :branchname
git push origin :mimic
查看远程github地址
git remote -v
查看所有的git分支
git branch -a
切换到master分支
git checkout master
合并分支到master
git merge :branchname
对所有的分支检索,包括remote和local的,凡是包括notice都可以搜到
git branch -a | grep notice
从github远程获取文件
git pull origin
初始化init文件
git init
添加所有文件
git add *
添加tag,并且提交到远程
git tag 1.0
git push —tags
添加指定文件
git add README.md
提交所有文件并注释
git commit -m “first commit”
添加远程github连接
git remote add origin https://github.com/xx/xx.git
git remote rm origin 移除远程地址
添加到github远程
git push (-u) origin master
git pull (-u) origin master
克隆项目
git clone [email protected]:/Users/Victor/Github/iPhoneOriPad
查看fetch和push的地址
git remote -v
配置名称和email
git config —global user.name (myname)
git config —global user.email (myemail)