常用的git命令
git中一些选项-d–delete:删除-D–delete --force的快捷键-f–force:强制-m–move:移动或重命名-M–move --force的快捷键-r–remote:远程-a–all:所有查看提交历史git loggit show commit-id filenamegit log -p filename #注释:可以显示该文件每次提交的diff(文件名后缀都要)初始化gi
git中一些选项
-d
–delete:删除
-D
–delete --force的快捷键
-f
–force:强制
-m
–move:移动或重命名
-M
–move --force的快捷键
-r
–remote:远程
-a
–all:所有
查看提交历史
git log
git show commit-id filename
git log -p filename #注释:可以显示该文件每次提交的diff (文件名后缀都要)
初始化git仓库
git init
查看工作区
git status
将修改文件由工作区提交到暂存区(可以多次提交):
git add -A #注释:提交所有变化
git add -u #注释: 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . #注释:提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
将文件从暂存区提交到版本库(生成版本号):
git commit -m “备注”
回滚
git reset --hard {commitId} #注释:加了–hard的,有没有commit的是没有区分的(影响暂存区和工作区)
例子
git reset --hard 7d72d974a9ed718dc1f50194879d4409a9f5db4b
git push -f #注释: 表示将目前自己本机的代码库推送到远端,并覆盖 (自己开发采用,多人会被打)
提交到远程仓库
git push
当前分支与多个主机存在追踪关系,可以用-u指定默认主机:
git push -u origin --all #注释:当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机
git push -u origin --tags #注释: 把标签也一并提交
把旧地址的分支复制到新的地址(新地址没有该分支才能成功):
在旧的项目运行
git remote add new 新项目地址 #注释: 关联一个新的仓库
或者
git remote add new master #注释: 添加仓库名为new
git remote set-url new 新项目地址 #注释: 为仓库new设置地址
git pull #注释: 更新代码
git checkout -b newbranch #注释: 表示以当前分支的当前状态创建新分支并切换到新分支
git push new #注释:把当前分支提交到新仓库上
分支名称想修改(本地和远程一起修改):
git branch -m oldbranch newbranch #注释: 将old分支该名称为new
git push --delete origin oldbranch #注释:删除远程的old分支
git push origin newbranch #注释: 把新的这个分支再提交上去
删除该名称的仓库地址:
git remote rm oldorigin
对比和该分支有啥不同:
git diff origin/dev
同一个git仓库的分支合并:
git branch -a # 注释:查看分支列表
git checkout dev # 注释:切换到本地dev分支
git pull # 注释:更新本地dev分支
git checkout master # 注释:切换到master分支
git pull # 注释:更新本地master分支
git merge dev # 注释:合并本地dev到本地master
git push # 注释:将本地master推到远程master
删除本地分支 and 删除远程分支:
git branch -D 分支名称 #注释: 删除本地分支
git push origin --delete 分支名称 #注释: 删除远程分支
将旧的项目往新的合并:(这些命令是在新的项目执行的)
cd old
git checkout dev #注释:假设是往new的dev分支合并
git remote add old 旧的git地址
git fetch old dev:old #注释: git fetch <远程主机名> <远程分支名>:<本地分支名> 如果远程分支和当前分支合并,那么冒号后面可以省略
git merge old dev --allow-unrelated-histories #注释:新项目应该是不能直接合并的,这时候就需要强制合并分支
把项目copy到项目组下面的步骤:
- git clone 新git地址
- git remote add old 旧的git地址
- git fetch old
- git checkout test(选择你要切换的分支)
- git chekout master
- git merge test --allow-unrelated-histories
- git commit -m “”
- git push
- git remote remove old
如果是还没有提交过的话,应该不用强制合并
还有如果在新项目地址已经修改过的,强制合并请慎重
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)