说在前面:代码区除了
/* xxx **/
都是必须要写的~
1、本地新建仓库并与远程仓库关联
git init
git remote add origin 远程仓库地址
1.1 远程仓库地址改变,修改本地仓库与远程的关联
git remote remove
git remote add origin 新地址
git remote -v 查看远程仓库地址
2、创建新分支
git branch 新分支名字
git push --set-upstream origin 新分支 /*创建远程分支*/
3、切换分支
git checkout 切换后的分支名字
创建新分支并切换
git checkout -b 本地分支名字
查看当前所在分支
git branch
git branch -a 查看本地+远程的所有分支
git branch -r 查看远程分支
拉取远程分支
git fetch /*仅拉取到本地仓库,不会影响工作区*/
git fetch origin 远程某分支名称
git pull (git fetch +git merge) /*这个得小心操作*/
git pull origin 远程某分支名称
基于远程某个分支(如dev)新建一个分支(基于此开发一个新功能)
git fetch
git checkout -b 新分支 origin/远程某分支(dev)
git push --set-upstream origin 新分支
或者先切换到dev分支,然后新建一个分支,进行操作提交
4、正常提交
git add .
git commit -m "提交说明,内容自己理解就可"
git push /* 提交到远程分支*/
5、查看当前工作区状态
git status
6、远程分支合并(例如:将dev分支合并到develop分支)
git checkout develop
git fetch /* 视情况操作,如果只有你一个人操作,可以不进行,
但是团队合作时,执行下,避免产生冲突*/
git merge dev
git push /*这步不能忘*/
如果发生冲突,根据提示进行注释或者其他,然后依次执行add、commit、push
6.1 将远程某分支develop最新内容合并到本地分支dev
git fetch origin develop
git checkout dev
git merge origin/develop
7、克隆项目到本地
git clone http地址
克隆分支代码
git clone -b 分支名称 项目地址
8、删除本地分支dev
进入非dev分支,执行
gti branch -D dev
8.1 删除本地仓库的文件/文件夹
git rm 文件名
git rem -r 文件夹名
/*-r表示递归所有的子目录,如果删除的是空的文件夹,可以不用带-r */
9、重命名某个文件夹/文件名称(win10对文件名大小写不敏感,但对文件目录敏感)
git mv -f oldfolder newfolder
git add -u newfolder
git commit -m ""
如果有一个好的操作习惯,以上这些命令应该就够用了~,下面是一些”后悔药“
1、commit的时候发现信息写错了,有错别字什么的
git commit -amend /*然后会出来一个页面,让你对文字进行编辑*/
git push -f /*覆盖上次提交*/
2、忘记切换本地分支了,结果在该分支修改了很多内容,可是想要提交到远程的另一个分支dev上
方法一:
git stash /*或者 git stash save “save说明” */
git stash list /*查看缓存列表(是否保存到堆栈)*/
git checkout 与dev关联的本地分支
git stash pop /* 该操作会从堆栈中取出、但会从存储列表中被删除掉 或者
git stash apply /*不会从存储列表中删除*/
git add .
git commit -m ""
git push
方法二:
使用cherry-pick
使用后要返回原来的分支对commit进行回退,因为这是一次没有必要的提交
3、撤销工作区的修改
git checkout --filename
4、撤销已经add,还没commit的
git reset HEAD .
5、撤销已经commit,还没push的
git log /* 获取最近一次的commit id */
git reset --hard commit id
或者
git reset --hard HEAD^ /*回到最新一次的提交*/
git reset HEAD^ /*代码保留,回到git add之前*/
6、撤销远程仓库的commit
以下命令远程的commit提交就被撤销掉了
git reflog /*查看历史体骄傲记录的commit id */
git reset --hard commit id /*回退本地分支,commitid为你要回退到的版本号*/
git reset --soft commit id /* 工作区的内容不会被撤销*/
git push -f /*强制推送到远程分支*/